逐行读取C中的文件

时间:2017-03-21 19:35:41

标签: c file io

我试图逐行读取.txt文件,其中每行有两个单词和两个整数。

目前我正在使用fscanf运行循环,但我尝试打印值并且没有打印:

while{fscanf(filename,"%s %s %d %d", first,second,&num1,&num2) == 1)
{
      printf("%s %s %d %d", first,second,num1,num2);
}

文件打开正确我检查了,所以问题是没有正确读取值。 fscanf()是我应该使用的功能吗?如果不是我听说过fgets()但我不知道如果我有两个字符串和两个整数就会有用。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

替换

while{fscanf(filename,"%s %s %d %d", first,second,&num1,&num2) == 1)

while(fscanf(filename,"%s %s %d %d", first,second,&num1,&num2) == 4)

答案 1 :(得分:1)

fscanf的返回值是读入的项目数,因此在您的情况下,函数返回4并且永远不等于1,因此循环体不会执行。