版权所有 © 2014 tutorialspoint
write - 写入文件描述符
#include <unistd.h> ssize_t write(int fd, const void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
write() 将最多 count 个字节从以 buf 开头的缓冲区写入文件描述符 fd 引用的文件。POSIX 要求可以证明在 write() 返回后发生的 read() 返回新数据。请注意,并非所有文件系统都符合 POSIX 标准。
成功时,返回写入的字节数(零表示没有写入任何内容)。错误时,返回 -1,并且 errno 被相应地设置。
如果 count 为零且文件描述符引用常规文件,则可能返回 0,或者可能会检测到错误。对于特殊文件,结果不可移植。
可能会发生其他错误,具体取决于连接到 fd 的对象。
SVr4、4.3BSD、POSIX.1-2001。在 SVr4 下,写入可能会被中断并在任何时候返回 EINTR,而不仅仅是在写入任何数据之前。
write() 的成功返回并不保证数据已写入磁盘。事实上,在一些有缺陷的实现中,它甚至不能保证已成功为数据保留空间。唯一确定方法是在完成所有数据写入后调用 fsync(2)。
close (2)
fcntl (2)
fsync (2)
ioctl (2)
lseek (2)
open (2)
pwrite (2)
read (2)
select (2)
广告