C-关于c语言fgetc()函数
为什么用 putchar(fgetc(fp)); 读取文件会返回乱码?
代码:
</coding>#include <stdio.h>
int main() {
char ch;
FILE *fp;
if((fp = fopen("text.txt", "r")) != NULL) {
while((ch = fgetc(fp)) != EOF){
putchar(fgetc(fp));
}
}else
{printf("fail to open! n");}
fclose(fp);
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
putchar(fgetc(fp));//错误,修改为putchar(ch)
在while循环中已经获取了所要打印的字符,打印的时候又从新获取了下一个,相当于丢掉了一半的字符。到最后一个获取时出错了。