【发布时间】:2011-03-06 17:32:26
【问题描述】:
我知道这是一个基本问题......但我已经坚持了一个小时。我对C有点陌生。我一直在尝试从以特定方式定位的文本文件中解析一些整数。这是一个例子:
A 123,1
B 456,2
N 980,2
我想扔掉字母和逗号后面的数字。因此,我只有 123、456 和 980。我一直卡在第一部分(扔掉字母,中间的空白一直困扰着我:()。我知道有很多帖子有点相似,但我似乎无法得到它。这是我到目前为止的代码(test.txt 包含输入值)。
int main(void)
{
FILE *rFile = fopen ("test.txt", "rt");
char input[20];
if (rFile == NULL) {
printf("Input file could not be located");
return -1;
}
while (fscanf(rFile, "%s \n", input) > 0)
{
printf("%s", input);
}
fclose(rFile);
return 0;
}
这显然是不完整的。我解决此问题的方法是获取输入字符串(包括空格),然后使用 strtok 切掉中间部分。但是,我什至无法正确解析文本文件的每一行。
【问题讨论】: