请问用fscanf想将文件内数据存入数组时为什么第一个数字没有?
c语言吧
全部回复
仅看楼主
level 1
2022年01月08日 10点01分 1
level 1
顶顶顶
2022年01月08日 10点01分 2
level 10
i初始化没
2022年01月08日 10点01分 3
加了i=0,还是一样没变,s[0]还是第二个数
2022年01月08日 11点01分
fgetc之后又fscanf会出现这种问题,你为什么不直接fscanf呢
2022年01月08日 11点01分
@初级调查员 那去掉这个后面那个判断循环结束的条件该怎么写?
2022年01月08日 11点01分
fscanf的返回值,feof,具体怎么用自己搜一下
2022年01月08日 11点01分
吧务
level 15
去掉fgetc,在while里面用feof(fp)==0
2022年01月08日 11点01分 4
没事了,谢谢大佬
2022年01月08日 12点01分
level 11
i=0;
while(1){
fscanf(fp,"%d",&s[i++]);
if (feof(fp))break; //读语句后,判断是否文件结束
}
n=i; //成功读到的数的个数
for (i=0;i<n;i++) printf("%d ",s[i]);
2022年01月08日 12点01分 6
已解决,谢谢大佬
2022年01月08日 13点01分
1