Provided by:
manpages-zh_1.5.1-1_all 
NAME
stdio - 標準輸入輸出庫函數
SYNOPSIS`覽
#include <stdio.h>
FILE *stdin;
FILE *stdout;
FILE *stderr;
DESCRIPTIONyz
標注 I/O 庫函數提供了一-
蚋眾璁茼陵蘆滿A帶緩沖的流輸出輸出接口。輸入和輸出被映射為邏輯的數據流,物理的
I/O 特性則被隱藏起來。庫中包含的函數與宏列在下情F更多信息可以從獨立的
man 手冊隊仃o到。
將一茯y關聯到一茈~部檔案 (可能是一茠垓z設備) 的方法是打開 ( opening )
這蚗仵蛂A其中可能牽涉到創建一-
虓s檔案。創建已有的檔案使得檔案中已有的內容被丟棄。如果檔案支持定位請求
(例如磁碟檔案;但終端不是這樣),那麼一蚖P檔案關聯的定位標記 ( file
position indicator ) 被定位到檔案的起始 (0
字節),除非以追加模式打開檔案。使用追加模式時,究竟定位標記位於檔案的開始還是結束是沒有指定的。定位標記由後續的讀、寫和定位請求來維護。從流中輸入時,就如同字符是連續地成末掍峇F函數
fgetc(3) 而讀入的;產生輸出時,就如同所有字符是連續地成末掍峇F函數
fputc(3) 而輸出的。
將一茯y與一蚖P之關聯的檔案斷開的辦法是關閉 ( closing ) 這-
蚗仵蛂C在流與檔案斷開之前,輸出流被刷新
(任何未寫入的緩沖的內容都被傳輸給主機環境)。在檔案被關閉之後,指向 FILE
對象的指針的O不確定的 (無用數據)。
一-
蚗仵蚰i以繼續被相同的或是不同的程式實體再次打開,它的內容可以被恢復或者-
蚹 (如果它可以被咿w位到檔案開始的話)。如果 main
函數返回到它最初的調用者,或者調用了函數 exit(3)
,在程式終止前,所有打開的檔案都將被關閉
(因此所有的輸出流都被刷新)。其他終止程式的方法,例如 abort(3)
不會進行正常的關閉檔案操作。
在程式啟動時,會預先定義三茪憟賑y,它怳˙愯顯式地打開 -- J
(用於讀入常規內容),-- X (用於輸出常規內容),以及 ~
(用於輸出診斷信息)。這些流的縮寫是 stdinAstdout 和 stderr
。在打開時,標準錯誤流不會完全緩沖;當且僅當流不是一-
茈璊洩熙]備時,標準輸入和標準輸出流才被完全緩沖。
指向終端設備的輸出流總是預設使用行緩沖;未定的輸出總是在指向一-
茞袟摀]備的輸入流被讀取時自動被寫入。如果在一-
蚇擖X終端上列印了一行的一部分,然後運行了大量的p算後,應當在退出和p算前
fflush(3) 標準輸出,使得輸出可以顯示出來。(?)
標準輸入輸出庫 stdio 是函數庫 libc 的一部分,需n時可以被編譯器 cc(1) 和
pc(1) 自動加載。下列手冊隍 SYNOPSIS ` 段落會指出n包含-
些檔案,函數定義的格式,以及它怢到些外部變量的影響。
下列為已定義的宏;如果不用 #undef 取消這些名稱的當前定義的話,是不能-
奐s使用它怐滿G 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.
另外,還有與這些宏的弁鉆奰釭滿A函數形式的版本 feof, ferror, clearerr,
fileno, getc, getchar, putc, 和 putchar
,在顯式地取消宏的定義時,可以使用它怴C
LIST OF FUNCTIONSC表
Function數
Descriptionyz
clearerr 檢測並姜m流狀態
fclose 關閉流
fdopen 打開流
feof 檢測並姜m流狀態
ferror 檢測並姜m流狀態
fflush 刷新流
fgetc 從輸入流中獲取下一茼r符或詞
fgetpos 咿w位流
fgets 從流中獲取一行
fileno 返回流參數的整數形式的描z符
fopen 打開流
fprintf 按照格式輸出常規內容
fpurge 刷新流
fputc 向流輸出一茼r符或詞
fputs 向流輸出一行
fread 二進制輸入/輸出
freopen 打開流
fropen 打開流
fscanf 按照格式輸入常規內容
fseek 咿w位流
fsetpos 咿w位流
ftell 咿w位流
fwrite 二進制輸入/輸出
getc 從輸入流中獲取下一茼r符或詞
getchar 從輸入流中獲取下一茼r符或詞
gets 從流中獲取一行
getw 從輸入流中獲取下一茼r符或詞
mktemp 創建 (唯一的) 臨時檔名
perror 系統錯誤消息
printf 按照格式輸出常規內容
putc 向流輸出一茼r符或詞
putchar 向流輸出一茼r符或詞
puts 向流輸出一行
putw 向流輸出一茼r符或詞
remove 刪除目錄項
rewind 咿w位流
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)
2001-12-26 STDIO(3)