我基本上是使用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);

最佳答案

你想要的
if(datatest==-1)
而不是
if(datatest = -1)
一个测试相等,而另一个是赋值表达式。C中的任何“赋值表达式”都将返回变量的赋值。例如,datatest= -1将返回-1

07-26 00:40