我必须将一个字符串拆分为几个字符串。实际上,我需要的是解析来自以下格式(i9,i9,i2)的文件的一些输入。将一个字符串解析为多个字符串
I9表示十进制数为: (5blankspaces)4567
,所以我需要检索的数字正确。宽度总是固定的,所以每个数字都必须遵守。 该格式的正确的实例将是
(5spaces)4567(6spaces)453(1space)2 或 (5spaces)4567(6spaces)45322(其中,图22是用于I2参数在这种情况下)
数字之前的空格给了我头痛,所以我想我可以将每个参数拆分为一个字符数组,然后将其转换为整数,因为%d指定符忽略了所有空格,我不知道如何使用宽度作为以及忽略空格..(如果可以这样做,我的意思是,解析所有的整数,请说这么!!)
如果不是......好吧,我需要帮助来解析e很字符串转换成字符串,到目前为止,我已经做到了这一点,但它不工作:
while (fgets(buffer, 600, f)) {
sscanf(buffer, "%9[^\n]s %9[^\n]s %2[^\n]s", arg1, arg2, arg3);
....
}
请,任何帮助将不胜感激!
C或C++?选择你的命运! :) – 2012-02-03 09:30:32
[解析逗号分隔的std :: string]可能的重复(http://stackoverflow.com/questions/1894886/parsing-a-comma-delimited-stdstring) – 2012-02-03 09:34:18
可能的重复[解析字符串到长C](http://stackoverflow.com/questions/7930167/parsing-string-to-long-in-c) – 2012-02-03 09:38:08