为了账号安全,请及时绑定邮箱和手机立即绑定

关于c语言文件的输入输出

关于c语言文件的输入输出

C
稳做王者 2016-12-10 00:10:40
#include<stdio.h> #include<stdlib.h> main() { FILE *fp; char ch,filename[100]; printf("请输入所用的文件名:"); scanf("%s",filename); if((fp=fopen(filename,"r"))==NULL) { printf("有这文件吗?"); exit(0); } while(ch!=EOF) { ch=fgetc(fp); printf("%c(%d)",ch,ch); } fclose(fp); } 我输入123.txt 并且我在123.txt中只写入了abc三个字符,但是我这个程序输出的是a(95)b(96)c(97) (-1) 大神们知道为什么吗?求解释一下,应该怎么去掉那个-1?
查看完整描述

1 回答

已采纳
?
忘性最大的人

TA贡献118条经验 获得超37个赞

你在输出的时候不是格式化输出了字符及其对应的ASCII编码么,你看看你单位printf语句写的就是这样。
查看完整回答
反对 回复 2016-12-10
  • 稳做王者
    稳做王者
    问一下您我这程序最后为什么能出现-1?而我原文件只存了abc啊?
  • 忘性最大的人
    忘性最大的人
    -1是文件的结束标志。
  • 忘性最大的人
    忘性最大的人
    除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。
点击展开后面1
  • 1 回答
  • 0 关注
  • 1110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信