首页 > 代码库 > 系统级I/O
系统级I/O
进程通过open函数打开一个已存在的文件或者创建一个新的文件。应用程序可以用过read和write函数来执行输入和输出。在某些情况下,read和write函数传送的字节比应用程序要求的要少,这些不足值不代表有错误,如果想创建健壮的网络应用,就必须通过反复调用write和read函数处理不足值,使用RIO包可以自动处理不足值。
RIO提供了两种不同类型的函数:无缓冲的输入输出函数,这些函数直接在存储器和文件之间传送数据,没有应用缓冲。它,恶魔对将二进制数据写到网络和从网络写到二进制数据尤其有用。带缓冲的输入函数,这些函数允许你高效地从文件中读取文本行和二进制数据,这些文件的内容缓存在应用级缓存区内。
应用程序能够通过调用stat和fstat函数,检索文件的信息,其中stat数据结构中的st_mode和st_size成员,st_size包含了文件的字节数大小。Unix提供的宏指令根据st_mode成员来确定文件的类型。
共享文件:
内核用三个相关的数据结构来表示打开的文件:
对于图10—12,可以通过dup2函数修改进程的描述符表实现I/O重定向。
系统级I/O
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。