练习8-4

形参实参暂时不提.与原来一样.

这个程序的功能是移动读写位置.所以他有两种情况分别是读和写.

首先是读的情况.
因为有缓冲区的存在,如果已经打开了文件并且已经读取数据,那么当前位置是在缓冲区之后的那个字符.因为缓冲区也被视为已经被读取的,但是缓冲区的内容并没有实质的输出到某个文件或者屏幕上,所以暂时他们对于用户来说还是未读取的.所以以用户的角度要将当前的偏移量向前(也就是缓冲区的方向偏移),偏移直到缓冲区开头的offset个字符.(这个偏移不是在缓冲区中偏移而是在文件中偏移,所以后面要清空缓冲区)

然后调用lseek以此偏移量进行操作.

已经偏移后,清空缓冲区.

然后是写的情况.

首先要把缓冲区的内容全部写入到文件,然后才能以此进行偏移.不然如果缓冲区有内容,先改变了读写位置,文件关闭后缓冲区的内容写到文件中,当前的读写位置依然是错的(如果缓冲区有内容的情况下).

然后调用lseek正常操作.

最后是返回执行情况,是否出错.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,186评论 6 13
  • 转自 http://www.ibm.com/developerworks/cn/education/java/j-...
    抓兔子的猫阅读 2,355评论 0 22
  • 婚姻中的冷战,亲人间的漠视是致命的,它会无形中扼杀着夫妻双方的欢乐,亲人间的温情。一切曾经的美好,也会因此被抹杀。...
    婉遇阅读 572评论 18 7
  • 在火车轰鸣声中,我又离开一个城市。 初到这里艳阳高照,眼睁不开,只想找到一片树一汪水。离开时小雨阵阵落得很是敷衍,...
    潇枭阅读 272评论 0 0