首页 > 代码库 > 笔记3-3: write 函数

笔记3-3: write 函数

write 函数:

 

调用write函数可以从打开的文件中写数据。

 

原型:

#include <unistd.h>

ssize_t  write(int filedes, const void* buf, size_t nbytes);

 

返回值:若成功则返回读写入的字节数,返回值要与nbytes相同。如果返回值与nbytes不相同,表示写入出错。

 

write出错的常见原因,一般是磁盘已满,或者超出进程的文件长度限制。

 

对于普通文件,write会在当前文件偏移量出开始写;如果在打开文件时,使用了O_APPEND选项,则每次写入时,都会先把文件偏移量移到当前结尾处,再开始写操作。

 

一般来说,read/write时,buffer的大小设置为1KB~128KB之间的I/O效率最好。具体的效率与文件系统的实现有关系。