Man page - stdio(3)

Packages contains this manual

Available languages:

en fr es pl ja ru zh_TW zh_CN de

Manual

STDIO

NAME
SYNOPSIS 總 覽
DESCRIPTION 描 述
LIST OF FUNCTIONS 函 式 列 表
CONFORMING TO 標 準 參 考
SEE ALSO 參 見


NAME

stdio - 標 準 輸 入 輸 出 庫 函 式

SYNOPSIS 總 覽

#include <stdio.h>

FILE *stdin;
FILE *stdout;
FILE *stderr;

DESCRIPTION 描 述

標 註 I/O 庫 函 式 提 供 了 一 個 簡 單 而 有 效 的 , 帶 緩 衝 的 流 輸 出 輸 出 介 面 。 輸 入 和 輸 出 被 對 映 為 邏 輯 的 資 料 流 , 物 理 的 I/O 特 性 則 被 隱 藏 起 來 。 庫 中 包 含 的 函 式 與 宏 列 在 下 面 ; 更 多 資 訊 可 以 從 獨 立 的 man 手 冊 頁 中 得 到 。

將 一 個 流 關 聯 到 一 個 外 部 檔 案 (可 能 是 一 個 物 理 裝 置 ) 的 方 法 是 開 啟 ( opening ) 這 個 檔 案 , 其 中 可 能 牽 涉 到 建 立 一 個 新 檔 案 。 建 立 已 有 的 檔 案 使 得 檔 案 中 已 有 的 內 容 被 丟 棄 。 如 果 檔 案 支 援 定 位 請 求 (例 如 磁 碟 檔 案 ; 但 終 端 不 是 這 樣 ), 那 麼 一 個 與 檔 案 關 聯 的 定 位 標 記 ( file position indicator ) 被 定 位 到 檔 案 的 起 始 (0 位 元 組 ), 除 非 以 追 加 模 式 開 啟 檔 案 。 使 用 追 加 模 式 時 , 究 竟 定 位 標 記 位 於 檔 案 的 開 始 還 是 結 束 是 沒 有 指 定 的 。 定 位 標 記 由 後 續 的 讀 、 寫 和 定 位 請 求 來 維 護 。 從 流 中 輸 入 時 , 就 如 同 字 元 是 連 續 地 成 功 呼 叫 了 函 式 fgetc (3) 而 讀 入 的 ; 產 生 輸 出 時 , 就 如 同 所 有 字 元 是 連 續 地 成 功 呼 叫 了 函 式 fputc (3) 而 輸 出 的 。

將 一 個 流 與 一 個 與 之 關 聯 的 檔 案 斷 開 的 辦 法 是 關 閉 ( closing ) 這 個 檔 案 。 在 流 與 檔 案 斷 開 之 前 , 輸 出 流 被 重 新 整 理 (任 何 未 寫 入 的 緩 衝 的 內 容 都 被 傳 輸 給 主 機 環 境 )。 在 檔 案 被 關 閉 之 後 , 指 向 FILE 物 件 的 指 標 的 值 是 不 確 定 的 (無 用 資 料 )。

一 個 檔 案 可 以 繼 續 被 相 同 的 或 是 不 同 的 程 式 實 體 再 次 開 啟 , 它 的 內 容 可 以 被 恢 復 或 者 修 改 (如 果 它 可 以 被 重 定 位 到 檔 案 開 始 的 話 )。 如 果 main 函 式 返 回 到 它 最 初 的 呼 叫 者 , 或 者 呼 叫 了 函 式 exit (3) , 在 程 式 終 止 前 , 所 有 開 啟 的 檔 案 都 將 被 關 閉 (因 此 所 有 的 輸 出 流 都 被 重 新 整 理 )。 其 他 終 止 程 式 的 方 法 , 例 如 abort (3) 不 會 進 行 正 常 的 關 閉 檔 案 操 作 。

在 程 式 啟 動 時 , 會 預 先 定 義 三 個 文 字 流 , 它 們 不 需 要 顯 式 地 開 啟 — 標 準 輸 入 (用 於 讀 入 常 規 內 容 ), — 標 準 輸 出 (用 於 輸 出 常 規 內 容 ), 以 及 標 準 錯 誤 (用 於 輸 出 診 斷 資 訊 )。 這 些 流 的 縮 寫 是 stdin, stdout stderr 。 在 開 啟 時 , 標 準 錯 誤 流 不 會 完 全 緩 衝 ; 當 且 僅 當 流 不 是 一 個 互 動 的 裝 置 時 , 標 準 輸 入 和 標 準 輸 出 流 才 被 完 全 緩 衝 。

指 向 終 端 裝 置 的 輸 出 流 總 是 預 設 使 用 行 緩 衝 ; 未 定 的 輸 出 總 是 在 指 向 一 個 終 端 裝 置 的 輸 入 流 被 讀 取 時 自 動 被 寫 入 。 如 果 在 一 個 輸 出 終 端 上 列 印 了 一 行 的 一 部 分 , 然 後 運 行 了 大 量 的 計 算 後 , 應 當 在 退 出 和 計 算 前 fflush (3) 標 準 輸 出 , 使 得 輸 出 可 以 顯 示 出 來 。 (?)

標 準 輸 入 輸 出 庫 stdio 是 函 式 庫 libc 的 一 部 分 , 需 要 時 可 以 被 編 譯 器 cc (1) 和 pc (1) 自 動 載 入 。 下 列 手 冊 頁 的 SYNOPSIS 總 覽 段 落 會 指 出 要 包 含 哪 些 檔 案 , 函 式 定 義 的 格 式 , 以 及 它 們 受 到 哪 些 外 部 變 數 的 影 響 。

下 列 為 已 定 義 的 宏 ; 如 果 不 用 #undef 取 消 這 些 名 稱 的 當 前 定 義 的 話 , 是 不 能 重 新 使 用 它 們 的 : BUFSIZ , EOF , FILENAME_MAX , FOPEN_MAX , L_cuserid , L_ctermid , L_tmpnam, NULL , SEEK_END , SEEK_SET , SEE_CUR , TMP_MAX , clearerr , feof , ferror , fileno , fropen , fwopen , getc , getchar , putc , putchar , stderr , stdin , stdout . 另 外 , 還 有 與 這 些 宏 的 功 能 對 應 的 , 函 式 形 式 的 版 本 feof , ferror , clearerr , fileno , getc , getchar , putc , 和 putchar , 在 顯 式 地 取 消 宏 的 定 義 時 , 可 以 使 用 它 們 。

LIST OF FUNCTIONS 函 式 列 表

Function 函 式

Description 描 述

clearerr

檢 測 並 重 置 流 狀 態

fclose

關 閉 流

fdopen

開 啟 流

feof

檢 測 並 重 置 流 狀 態

ferror

檢 測 並 重 置 流 狀 態

fflush

重 新 整 理 流

fgetc

從 輸 入 流 中 獲 取 下 一 個 字 元 或 詞

fgetpos

重 定 位 流

fgets

從 流 中 獲 取 一 行

fileno

返 回 流 引 數 的 整 數 形 式 的 描 述 符

fopen

開 啟 流

fprintf

按 照 格 式 輸 出 常 規 內 容

fpurge

重 新 整 理 流

fputc

向 流 輸 出 一 個 字 元 或 詞

fputs

向 流 輸 出 一 行

fread

二 進 位 制 輸 入 /輸 出

freopen

開 啟 流

fropen

開 啟 流

fscanf

按 照 格 式 輸 入 常 規 內 容

fseek

重 定 位 流

fsetpos

重 定 位 流

ftell

重 定 位 流

fwrite

二 進 位 制 輸 入 /輸 出

getc

從 輸 入 流 中 獲 取 下 一 個 字 元 或 詞

getchar

從 輸 入 流 中 獲 取 下 一 個 字 元 或 詞

gets

從 流 中 獲 取 一 行

getw

從 輸 入 流 中 獲 取 下 一 個 字 元 或 詞

mktemp

建 立 (唯 一 的 ) 臨 時 檔 名

perror

系 統 錯 誤 訊 息

printf

按 照 格 式 輸 出 常 規 內 容

putc

向 流 輸 出 一 個 字 元 或 詞

putchar

向 流 輸 出 一 個 字 元 或 詞

puts

向 流 輸 出 一 行

putw

向 流 輸 出 一 個 字 元 或 詞

remove

刪 除 目 錄 項

rewind

重 定 位 流

scanf

按 照 格 式 輸 入 常 規 內 容

setbuf

流 緩 衝 操 作

setbuffer

流 緩 衝 操 作

setlinebuf

流 緩 衝 操 作

setvbuf

流 緩 衝 操 作

sprintf

按 照 格 式 輸 出 常 規 內 容

sscanf

按 照 格 式 輸 入 常 規 內 容

strerror

系 統 錯 誤 訊 息

sys_errlist

系 統 錯 誤 訊 息

sys_nerr

系 統 錯 誤 訊 息

tempnam

臨 時 檔 案 控 制

tmpfile

臨 時 檔 案 控 制

tmpnam

臨 時 檔 案 控 制

ungetc

向 輸 入 流 中 退 回 字 元

vfprintf

按 照 格 式 輸 出 常 規 內 容

vfscanf

按 照 格 式 輸 入 常 規 內 容

vprintf

按 照 格 式 輸 出 常 規 內 容

vscanf

按 照 格 式 輸 入 常 規 內 容

vsprintf

按 照 格 式 輸 出 常 規 內 容

vsscanf

按 照 格 式 輸 入 常 規 內 容

CONFORMING TO 標 準 參 考

函 式 庫 stdio 遵 循 ANSI X3.159-1989 (‘‘ANSI C’’) 標 準 。

SEE ALSO 參 見

open (2), close (2), read (2), write (2), stdout (3)

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