我的循环复制了最后一个字符...(语言 C)(FEOF)(char 由 char 提供)

My loop duplicates the last char... (Language C)(feof)(char by char)

提问人:Frank 提问时间:11/23/2012 更新时间:11/11/2013 访问量:757

问:

哟,伙计们,

我正在尝试读取文本文件:

while(!feof(fp)){ 

    fscanf(fp, "%c", &c);

    printf("%c", c);

}

但。。。输出总是复制最后一个字符,我不知道为什么...... :/

有什么想法吗?

FEOF(费奥夫)

评论

0赞 Matthew Hall 11/23/2012
你是说程序的输出是重复输入文件的第一个字符吗?它是否对输入文件中的每个字符重复一次 [第一个字符]?这真的是你的循环和 I/O 的全部吗?您的输入文件是什么样的?是 an 还是 ?fpcintunsigned char
0赞 Frank 11/23/2012
c 是一个字符...我正在读取一个看起来像“+1 2”的文本文件,但是当我使用该代码时,数字 2 似乎是重复的,不知道为什么。无论如何,最后一个字符总是重复的......
0赞 Thomas Padron-McCarthy 3/30/2013
“while( !feof( file ) )” 的可能重复总是错误的

答:

0赞 user1638970 11/11/2013 #1

我也想知道,终于我找到了答案

我无法更好地解释它,所以请查看链接