other languages
other sections
WRITE(2) | Linux Programmer's Manual | WRITE(2) |
NAME¶
write -在一個檔案描述符上執行寫操作概述¶
#include <unistd.h>描述¶
write 向檔案描述符 fd 所引用的檔案中寫入 從 buf 開始的緩沖區中 count 字節的數據. POSIX規定,當使用了 write()之後再使用 read(),那麼讀取到的應該是更新後的數據. 但請注意並不是所有的檔案系統都是 POSIX相容的.返回值¶
成功時返回所寫入的字節數(若為零則表示沒有寫入數據). 錯誤時返回-1,並置 errno為相應值. 若 count為零,對於普通檔案無任何影響,但對特殊檔案 將產生不可預料的後果.錯誤代碼¶
- EBADF
- fd 不是一個合法的檔案描述符或者沒有以寫方式打開.
- EINVAL
- fd 所指向的對象不可寫.
- EFAULT
- buf 不在使用者可訪問地址空間內.
- EPIPE
- fd 連接到一個管道,或者套接字的讀方向一端已關閉.此時寫進程 將接收到 SIGPIPE 信號;如果此信號被捕獲,阻塞或忽略,那麼將返回錯誤 EPIPE.
- EAGAIN
- 讀操作阻塞,但使用 O_NONBLOCK 指定了非阻塞式輸入輸出.
- EINTR
- 在寫數據以前調用被信號中斷.
- ENOSPC
- fd 指向的檔案所在的設備無可用空間.
- EIO
- 當編輯一個節點時發生了底層輸入輸出錯誤.
相容於¶
SVr4, SVID, POSIX, X/OPEN, 4.3BSD. SVr4文件添加了以下錯誤代碼: EDEADLK, EFBIG, ENOLCK, ENOLNK, ENOSR, ENXIO, EPIPE,或者ERANGE. 對於SVr4有可能在寫入部分數據時發生中斷並返回EINTR.參見¶
open(2), read(2), fcntl(2), close(2), lseek(2), select(2), ioctl(2), fsync(2), fwrite(3)[中文版維護人]¶
byeyear <love_my_love@263.net >[中文版最新更新]¶
2002.02.07《中國linux論壇man手冊頁翻譯計劃》:¶
http://cmpp.linuxforum.net13 January 1996 | Linux 2.0.32 |