我基本上使用C函数fscanf()来读取文件中的数据 . 使用fopen并检查它我知道通过检查返回值成功打开文件 .
该文件使用Char,Int,Int格式化 . 我遇到的问题是我一次只能读一行并且循环退出 . 如果有人能看到我出错的地方,我将不胜感激
char c;
char nl;
int t1, t2;
int dataTest;
do
{
dataTest = fscanf(fp, "%c %d %d", &c, &t1, &t2);
fscanf(fp, "%c", &nl);
printf("%c %d %d \n", c, t1, t2);
if (dataTest = -1)
{
break;
}
}while(1);
1 回答
你要
if(datatest==-1)
而不是
if(datatest = -1)
一个测试相等,而另一个是赋值表达式 .
C
中的任何"assignment expression"都将返回赋值变量的值 . 例如,datatest= -1
将返回-1
.