当前位置:嗨网首页>书籍在线阅读

15-部分写(Partial Write)

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.3.1 部分写(Partial Write)

和read()调用的部分读场景相比,write()调用不太可能会返回部分写。此外,write()系统调用不存在EOF的场景。对于普通文件,除非发生错误,write()操作保证会执行整个写请求。

因此,对于普通文件,不需要执行循环写操作。但是,对于其他的文件类型,比如socket,需要循环来保证写了所有请求的字节。使用循环的另一个好处是第二次调用write()可能会返回错误值,说明第一次调用为什么只执行了部分写(虽然这种情况并不常见)。以下是write()调用示例代码: