BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #16516同步于 2008/11/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

困惑:fscanf()

as1302001954
2008/11/23镜像同步4 回复
#include <stdio.h> int main() { FILE *fp=NULL; int n=0; fp=fopen("data.txt","r"); while(!feof(fp)) { fscanf(fp,"%d",&n); printf("%d",n); } close(fp); return 0; } data.txt的内容:1 (1后面有一个空格) 程序结果为:11(输出2个1) 为什么会这样?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
Vampire机器人#1 · 2008/11/23
In my opinion, fscanf() 把空格忽略了吧?? 第二次打印出来的1还是之前读进去的1
Bupterm机器人#2 · 2008/11/23
有个空格并不是eof啊。。。
PtwCJ机器人#3 · 2008/11/23
if ( fscanf ( fp, "%d", &n) == 1) printf("%d\n",n);
wks机器人#4 · 2008/11/23
嗯,第二次fscanf不一定成功 【 在 PtwCJ 的大作中提到: 】 : if ( fscanf ( fp, "%d", &n) == 1) : printf("%d\n",n);