当前位置:  技术问答>linux和unix

apue page113

    来源: 互联网  发布时间:2016-11-12

    本文导语:  apue中文第二版113页这样说: 当以读和写方式打开一个文件时,具有如下限制: 1 如果中间没有fflush fseek fsetpos或rewind, 则输出的背后不能直接跟随输入。 2 如果中间没有fseek fsetpos rewind,或者一个输入操作没有到...

apue中文第二版113页这样说:
当以读和写方式打开一个文件时,具有如下限制:
1 如果中间没有fflush fseek fsetpos或rewind, 则输出的背后不能直接跟随输入。
2 如果中间没有fseek fsetpos rewind,或者一个输入操作没有到达文件尾端,则在输入操作之后不能直接跟随输出。

我想问的是,背后的原因是什么,为什么有这样的限制?

|
1、输出之后,即使不移动文件指针,即调用一个fseek(fp, 0, SEEK_CUR),也可以跟一个输入
2、与上面类似

应该与文件指针无关

|
1 如果中间没有fflush fseek fsetpos或rewind, 则输出的背后不能直接跟随输入。

2 如果中间没有fseek fsetpos rewind,或者一个输入操作没有到达文件尾端,则在输入操作之后不能直接跟随输出。


-> 两方面。
一是缓冲区的问题。如果没有这几个函数,你前面写的内容有可能还在缓冲区里。后续的读操作就会“错过”这部分数据。
二是文件指针,如果你是在读文件的过程中,文件指针可能不在末尾,这时写则会覆盖数据。这也是为什么2里没有提fflush,因为它不会动文件指针。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 下载了APUE源码,怎么打不开啊?
  • 文件名为“apue.tar.Z”的文件在UNIX下怎么打开?大家帮帮忙
  • APUE第2版的例2-1的疑问
  • apue书上的概念,读过这本书的请进
  • 刚学完apue,大家给个建议
  • 求apue的课后答案~~~~~~~~~~~~~
  • APUE 看完之后,拿什么练练手?
  • apue.h的问题
  • APUE+macro
  • apue中的一个问题
  • APUE相关章节不容易理解。
  • 关于apue2 中一个例子的提问
  • apue书的的信号函数,看不懂
  • APUE中 system函数的实现中的问题
  • 哪位兄弟在看apue?相互交流一下
  • APUE中“信号”一节的问题
  • apue 上的 Figure3.10运行后,输出怎么是空白
  • apue学习问题 第八章 进程控制 相关
  • 关于unix环境高级编程的apue的问题
  • 不同缓冲区长度读操作 APUE2e


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3