代码中的while循环是这样写的:

while (fscanf(fa, "%c", &ch) != EOF) {    fprintf(fc, "%c", ch);if (fscanf(fb, "%c", &ch) != EOF) {fprintf(fc, "%c", ch);}
}

若代码中的while循环按照这样的方式来写的话:

while(!feof(fa))
{ch = fgetc(fa);fputc(ch,fc);if(!feof(fb)) {ch = fgetc(fb);fputc(ch,fc);}
}

看似好像没有问题,但是实际上是会出错的,会出现合并之后的字符串中有多余的空格的情况。这是因为feof的判断具有滞后性,feof 这个函数,是去读标志位(flag)判断文件是否结束的。即在读到文件结尾的时候再去读一次,标志位(flag)才会置位,此时才会判断文件处理为结束状态,文件到结尾。所以会多写入一个空格,如果用于打印,则会出现多打一次的的现象。

feof函数的滞后性相关推荐

  1. 【C 语言】文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )

    文章目录 一.读取文件中的结构体数组 | feof 函数使用注意事项 二.代码示例 一.读取文件中的结构体数组 | feof 函数使用注意事项 读取文件结构体时 , 可以循环读取文件中的数据 , 只使 ...

  2. PHP使用feof()函数读文件的方法

    这篇文章主要介绍了PHP使用feof()函数读文件的方法,以实例形式对比了正确与错误的用法,阐明了feof()函数的使用技巧,需要的朋友可以参考下 本文实例讲述了PHP使用feof()函数读文件的方法 ...

  3. 【C标准库】详解feof函数与EOF

    创作不易,多多支持! ‾ \underline{创作不易,多多支持! } 创作不易,多多支持!​ 再说此函数之前,先来说一下EOF是什么 EOF,为End Of File的缩写,通常在文本的最后存在此 ...

  4. feof()函数的文件操作

    feof()函数在文件操作时,用于判断文件是否结束.如果文件结束,则返回非0值,否则返回0. 对于文件来说,无论是空文件,还是存有信息的文件.文档的结尾都有一个隐藏字符"EOF", ...

  5. C语言feof()函数的使用

    C语言feof()函数的使用 2009-11-24 21:55 正确的应该是feof返回0表示文件没有结束,返回1,表示结束. feof实际观察的是上次读操作的内容,也就是上次读操作fread返回的值 ...

  6. C语言中的feof函数

    函数名 feof 功 能 检测流上的文件结束符 用 法 int feof(FILE *stream); 程序例 #include <stdio.h> int main(void) { FI ...

  7. feof函数重读问题

    feof函数重读问题 fgets读到文件最后一行的时候(返回不是NULL) ,feof测试为假,再fgets一次(返回为NULL),再feof测试为真. feof是通过判断read返回错误时,才判断流 ...

  8. feof函数,fscanf函数,strtok函数等遇到的小疑惑解决办法

    feof函数,fscanf函数,strtok函数等遇到的小疑惑解决办法       近几天我等几个小菜鸟要做一个快译通软件,简单实现根据英语查汉语,本人负责将dict.txt词库中的单词调入内存哈希表 ...

  9. feof函数的正确使用

    在文件读取的过程中,feof函数经常被误用来判断文件是否结束.  但其实她是被应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件的结尾而结束 正因为如此feof函数常常与ferror函数配合 ...

最新文章

  1. MapReduce基础开发context.write注意new text()多出一列的问题
  2. shell排序_Java后端技术精选:希尔排序
  3. Ubuntu中重启ssh服务时提示:Job for ssh.service failed because the control process exited with error code. See
  4. HDU3143Speedy Escape 最短路+二分+搜索
  5. 配置vim支持源码浏览(vim+ctags+cscope)
  6. 小菜:Java异常处理的10个最佳实践
  7. 【响应式编程的思维艺术】 (4)从打飞机游戏理解并发与流的融合
  8. Java swing实现一组图片自动轮播
  9. 广度优先遍历(Breadth First Search)
  10. j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
  11. java多线程执行任务(工具)
  12. python控制电脑音量,声音之控制音量,,
  13. 去掉flash player自带的fff新推荐广告插件
  14. ipad横竖屏切换,页面适配方法
  15. java平方根函数_java程序中怎么调用平方根函数
  16. Oracle DBA 路途遥远
  17. 在ios中,input唤出软键盘中‘换行’转‘搜索’、‘前往’,及直接唤醒数字键盘的实现(vue)
  18. 微信支付异常(“应答的微信支付签名验证失败“)记录
  19. react 使用dom-to-image 将html转为图片并保存
  20. 年底程序员好找工作吗_博客和意见-“查看者邮件”,这是年底的一种邪恶方式吗? 还是开始新年的好方法......

热门文章

  1. 视频调度指挥系统服务器,非常实用的应急指挥中心的视频系统设计方案
  2. 计算机化考试实施方案,上海对外经贸大学计算机分级教学实施方案
  3. 基于SSM和Boostrap实现的电影评论网站设计 毕业论文+外文翻译及原文+项目源码
  4. 新股民快速成为股市高手的八招
  5. 电子书转PDF格式怎么弄?这些方法你应该要知道
  6. C语言的几种结构体Struct的赋值方法
  7. MySQL下载和安装 win10 64位 MySQL8.0
  8. 关于NTFS与FAT32的互相转化
  9. 在NTFS For Mac中如何将FAT32转NTFS
  10. HTML系列(一)、W3C联盟指定标准及HTML骨架