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

09-数据写入文件_write()

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

4.5 数据写入文件:write()

write()系统调用将数据写入一个已打开的文件中。

55.png write()调用的参数含义与read()调用相类似。buffer参数为要写入文件中数据的内存地址,count参数为欲从buffer写入文件的数据字节数,fd参数为一文件描述符,指代数据要写入的文件。

如果write()调用成功,将返回实际写入文件的字节数,该返回值可能小于count参数值。这被称为“部分写”。对磁盘文件来说,造成“部分写”的原因可能是由于磁盘已满,或是因为进程资源对文件大小的限制。(相关的限制为RLIMIT_FSIZE,将在36.3节描述。)

对磁盘文件执行I/O操作时,write()调用成功并不能保证数据已经写入磁盘。因为为了减少磁盘活动量和加快write()系统调用,内核会缓存磁盘的I/O操作,第13章将会详加介绍。