永发信息网

C语言读txt文件,末尾多读出一个字符

答案:3  悬赏:80  手机版
解决时间 2021-01-09 06:24
  • 提问者网友:辞取
  • 2021-01-08 19:07
C语言读txt文件,末尾多读出一个字符
最佳答案
  • 五星知识达人网友:末日狂欢
  • 2021-01-08 19:46
可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();
先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:
char ch;
while((ch= fgetc(fp)) != EOF)

这样当读取到文件结尾时,while循环就会终止。
全部回答
  • 1楼网友:掌灯师
  • 2021-01-08 21:05
fp=fopen(fn,"r");
if(fopen (fn,"r")==NULL)
{
printf ("文件不存在或路径错误!\n");
exit(0);
}
else
{
while(fscanf(fp,"%c",&c1)!=EOF)
}
  • 2楼网友:轻熟杀无赦
  • 2021-01-08 20:32
问题在:
while(!feof(fp)) {}
EOF 的测定,只有在fscanf读到EOF后 才知道。
所以 while 最后一次循环中多做了一次fscanf后面的所有语句。

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

if ( fscanf(fp,"%c",&c1) ==EOF) break;
就可跳出循环体。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯