c++ - 为什么WHILE循环无法依次读取文件每一行数据?

浏览:54日期:2023-04-16

问题描述

c++ - 为什么WHILE循环无法依次读取文件每一行数据?while(!feof(fp)){

fscanf(fp,'%d %s %s %d %d %dn',&(staff[i].num),staff[i].name,staff[i].sex,&(staff[i].basepay),&(staff[i].extrapay),&(staff[i].day));*j++;i++;}//上图的代码

很简单的代码,就是把txt中每一行的数据依次存入结构体数组中,用for循环有效,但是改成while循环就没用了怎么回事?

问题解答

回答1:

一个低级错误,*j++要加括号,应该是(*j)++。虽然对问题没什么影响,但是让我误以为数据没有被传入结构体数组内。再加上之前运行了下搜索函数又报不存在,就以为数据没存进去。另外编译器有点抽风,关了去看部电影回来,再运行下就好了。

相关文章: