我试图逐行读取.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()但我不知道如果我有两个字符串和两个整数就会有用。 任何帮助将不胜感激。
答案 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,因此循环体不会执行。