首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

关于EOF跟读文件的一些事

2012-08-02 
关于EOF和读文件的一些事到底什么是EOF?这是一个问题。一般而言,EOF字面含义就是文件的结尾-end of file,可

关于EOF和读文件的一些事
到底什么是EOF?这是一个问题。一般而言,EOF字面含义就是文件的结尾-end of file,可是如何去检查是否已经到了结尾呢?文件类型各种各样,不可能在文件的结尾处真实的写一个EOF标志,如果真的这么做,操作系统内核的文件系统设计将会非常复杂,于是这个“检测”文件结尾的工作就交给了用户态,通常来讲就是C库来做这件事。内核仅仅按照顺序的方式向前推进对文件的访问即可,因此对于内核态文件数据结构而言,维护一个pos是重要的,正是这个pos不断向前推进,最终到达文件的尾部,每次读取文件是从pos处开始读取,到了最后pos已经到达了文件尾部,那么再读的话就会返回“读到的长度为0”这个结果,而正是这个结果标示了EOF。因此,用户态的程序在读文件时大体都遵循以下逻辑:

openwhile true    read    lseek to 0done

关键之处就是读到的东西是什么,如是随机数,那么每次的都不一样,赚到了。

热点排行