我正在尝试打印history.txt文件中的内容。
工作正常。问题是最后一部分,它打印最后一行两次。
示例输出:
abcd1234 12/31/2014 03:28:20 PM 5.00 0.00 // this will be printed twice
abcd1234 12/31/2014 03:28:20 PM 5.00 0.00 // here
这是我用来阅读和打印文件的部分。
while(!feof(fp))
{
fscanf(fp,"%s %s %s %s %f %f",code,hodate,hitime,distime,&deb1,&cre1);
if(strcmp(code,x.accnum)==0)
{
if(strcmp(hodate,currentdate)==0)
{
printf("%s\t%s\t%.2f\t%.2f\n",hodate,hitime,deb1,cre1);
}
}
}
答案 0 :(得分:4)
像这样使用feof()
是错误的。
while (fscanf(hist, "%s %s %s %s %f %f", acR, hdate, htime, dis, &deb, &cre) == 6)
{
// Put your code here
}