永发信息网

C语言判断文件为空问题

答案:2  悬赏:30  手机版
解决时间 2021-02-03 08:03
  • 提问者网友:皆是孤独
  • 2021-02-03 00:39
RT.if(feof(fp){ printf("文件内容为空,请先输入,按任意键返回"); system("pause");}这样为什么不能判断是否为空?
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-02-03 01:25
foef()是判断文件当前读写指针是否在文件末尾,如果文件有内容,读写到文件末尾,返回值也是真,但是文件有内容,并不是空的 。你可以读取文件第一个字符,如果第一个字符是文件末尾,文件就是空。如char ch; ch=fgetc(fp);if(ch==EOF) printf("文件为空\n");
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-02-03 02:00
文件为空时 只有文件结束符eof 当读取第一个字符是eof时即可判断文件是不是空 #include #include void main() { file *fp; char ch; if((fp=fopen("1.txt","r"))==null) { printf("error!\n"); exit(0); } ch=fgetc(fp); if(ch==eof) printf("文件为空\n"); else printf("文件不为空\n"); } ch就是获取到的文件里面的内容 fgetc(fp)这个函数就是获取文件内容的函数 从文件头开始 一直取到文件尾。。每调用这个函数一次 就会取出文件中的下一个字符 一直到文件尾为止 其中你的那个1.txt要放在和你程序相同的文件夹内
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯