Man page - write(2)

Packages contains this manual

Available languages:

en fr it pl nl ja ru ro zh_TW zh_CN de

Manual

WRITE

NAME
概 述
描 述
返 回 值
錯 誤 程 式 碼
兼 容 於
參 見
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :


NAME

write -在 一 個 檔 案 描 述 符 上 執 行 寫 操 作

概 述

#include <unistd.h>

ssize_t write(int fd , const void * buf , size_t count );

描 述

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

當 編 輯 一 個 節 點 時 發 生 了 底 層 輸 入 輸 出 錯 誤 .

可 能 發 生 了 其 他 錯 誤 ,取 決 於 fd 所 連 線 的 物 件 .

兼 容 於

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.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh