版權所有 © 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)
廣告