feof函数的滞后性
代码中的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函数的滞后性相关推荐
- 【C 语言】文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )
文章目录 一.读取文件中的结构体数组 | feof 函数使用注意事项 二.代码示例 一.读取文件中的结构体数组 | feof 函数使用注意事项 读取文件结构体时 , 可以循环读取文件中的数据 , 只使 ...
- PHP使用feof()函数读文件的方法
这篇文章主要介绍了PHP使用feof()函数读文件的方法,以实例形式对比了正确与错误的用法,阐明了feof()函数的使用技巧,需要的朋友可以参考下 本文实例讲述了PHP使用feof()函数读文件的方法 ...
- 【C标准库】详解feof函数与EOF
创作不易,多多支持! ‾ \underline{创作不易,多多支持! } 创作不易,多多支持! 再说此函数之前,先来说一下EOF是什么 EOF,为End Of File的缩写,通常在文本的最后存在此 ...
- feof()函数的文件操作
feof()函数在文件操作时,用于判断文件是否结束.如果文件结束,则返回非0值,否则返回0. 对于文件来说,无论是空文件,还是存有信息的文件.文档的结尾都有一个隐藏字符"EOF", ...
- C语言feof()函数的使用
C语言feof()函数的使用 2009-11-24 21:55 正确的应该是feof返回0表示文件没有结束,返回1,表示结束. feof实际观察的是上次读操作的内容,也就是上次读操作fread返回的值 ...
- C语言中的feof函数
函数名 feof 功 能 检测流上的文件结束符 用 法 int feof(FILE *stream); 程序例 #include <stdio.h> int main(void) { FI ...
- feof函数重读问题
feof函数重读问题 fgets读到文件最后一行的时候(返回不是NULL) ,feof测试为假,再fgets一次(返回为NULL),再feof测试为真. feof是通过判断read返回错误时,才判断流 ...
- feof函数,fscanf函数,strtok函数等遇到的小疑惑解决办法
feof函数,fscanf函数,strtok函数等遇到的小疑惑解决办法 近几天我等几个小菜鸟要做一个快译通软件,简单实现根据英语查汉语,本人负责将dict.txt词库中的单词调入内存哈希表 ...
- feof函数的正确使用
在文件读取的过程中,feof函数经常被误用来判断文件是否结束. 但其实她是被应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件的结尾而结束 正因为如此feof函数常常与ferror函数配合 ...
最新文章
- MapReduce基础开发context.write注意new text()多出一列的问题
- shell排序_Java后端技术精选:希尔排序
- Ubuntu中重启ssh服务时提示:Job for ssh.service failed because the control process exited with error code. See
- HDU3143Speedy Escape 最短路+二分+搜索
- 配置vim支持源码浏览(vim+ctags+cscope)
- 小菜:Java异常处理的10个最佳实践
- 【响应式编程的思维艺术】 (4)从打飞机游戏理解并发与流的融合
- Java swing实现一组图片自动轮播
- 广度优先遍历(Breadth First Search)
- j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
- java多线程执行任务(工具)
- python控制电脑音量,声音之控制音量,,
- 去掉flash player自带的fff新推荐广告插件
- ipad横竖屏切换,页面适配方法
- java平方根函数_java程序中怎么调用平方根函数
- Oracle DBA 路途遥远
- 在ios中,input唤出软键盘中‘换行’转‘搜索’、‘前往’,及直接唤醒数字键盘的实现(vue)
- 微信支付异常(“应答的微信支付签名验证失败“)记录
- react 使用dom-to-image 将html转为图片并保存
- 年底程序员好找工作吗_博客和意见-“查看者邮件”,这是年底的一种邪恶方式吗? 还是开始新年的好方法......