檔案輸入/輸出
出自 cppreference.com
< c
<stdio.h> 標頭檔提供通用的檔案操作支援,並提供具備窄字元(narrow character)輸入/輸出功能的函式。
<wchar.h> 標頭檔提供具備寬字元(wide character)輸入/輸出功能的函式。
I/O 串流由 FILE 型別的物件表示,這些物件只能透過 FILE* 型別的指標來存取與操作。每個串流皆與一個外部實體裝置(檔案、標準輸入串流、印表機、序列埠等)相關聯。
目錄 |
[編輯] 型別
| 定義於標頭檔
<stdio.h> | |
| 物件型別,能夠保存控制 C I/O 串流所需的所有資訊 (typedef) | |
| 非陣列的完整物件型別,能夠唯一指定檔案中的位置及多位元組解析器狀態 (typedef) | |
[編輯] 預定義標準串流
| 定義於標頭檔
<stdio.h> | |
| 與輸入串流相關聯的 FILE* 型別表示式 與輸出串流相關聯的 FILE* 型別表示式 與錯誤輸出串流相關聯的 FILE* 型別表示式 (巨集常數) | |
[編輯] 函式
檔案存取 | |
| 定義於標頭檔
<stdio.h> | |
| (C11) |
開啟檔案 (函式) |
| (C11) |
以不同的名稱開啟現有的串流 (函式) |
| 關閉檔案 (函式) | |
| 將輸出串流與實際檔案同步 (函式) | |
| 為檔案串流設定緩衝區 (函式) | |
| 為檔案串流設定緩衝區及其大小 (函式) | |
| 定義於標頭檔
<wchar.h> | |
| (C95) |
在寬字元 I/O 與窄字元 I/O 之間切換檔案串流 (函式) |
直接輸入/輸出 | |
| 定義於標頭檔
<stdio.h> | |
| 從檔案讀取 (函式) | |
| 寫入至檔案 (函式) | |
非格式化輸入/輸出 | |
窄字元 | |
| 定義於標頭檔
<stdio.h> | |
| 從檔案串流取得一個字元 (函式) | |
| 從檔案串流取得一個字串 (函式) | |
| 將一個字元寫入檔案串流 (函式) | |
| 將字元字串寫入檔案串流 (函式) | |
| 從 stdin 讀取一個字元 (函式) | |
| (C11 移除)(C11) |
從 stdin 讀取一個字串 (函式) |
| 將一個字元寫入 stdout (函式) | |
| 將一個字串寫入 stdout (函式) | |
| 將一個字元放回檔案串流 (函式) | |
寬字元 | |
| 定義於標頭檔
<wchar.h> | |
| (C95) |
從檔案串流取得一個寬字元 (函式) |
| (C95) |
從檔案串流取得一個寬字串 (函式) |
| (C95) |
將一個寬字元寫入檔案串流 (函式) |
| (C95) |
將一個寬字串寫入檔案串流 (函式) |
| (C95) |
從 stdin 讀取一個寬字元 (函式) |
| (C95) |
將一個寬字元寫入 stdout (函式) |
| (C95) |
將一個寬字元放回檔案串流 (函式) |
格式化輸入/輸出 | |
窄字元 | |
| 定義於標頭檔
<stdio.h> | |
| (C11)(C11)(C11) |
從 stdin、檔案串流或緩衝區讀取格式化輸入 (函式) |
| (C99)(C99)(C99)(C11)(C11)(C11) |
從 stdin、檔案串流或緩衝區讀取格式化輸入 使用可變引數列表 (函式) |
| (C99)(C11)(C11)(C11)(C11) |
將格式化的輸出列印到 stdout、檔案串流或緩衝區 (函式) |
| (C99)(C11)(C11)(C11)(C11) |
將格式化的輸出列印到 stdout、檔案串流或緩衝區 使用可變引數列表 (函式) |
寬字元 | |
| 定義於標頭檔
<wchar.h> | |
| (C95)(C95)(C95)(C11)(C11)(C11) |
從 stdin、檔案串流或緩衝區讀取格式化寬字元輸入 (函式) |
| (C99)(C99)(C99)(C11)(C11)(C11) |
使用可變參數列表,從 stdin、檔案串流 或緩衝區讀取格式化寬字元輸入 (函式) |
| (C95)(C95)(C95)(C11)(C11)(C11)(C11) |
將格式化的寬字元輸出列印到 stdout、檔案串流或緩衝區 (函式) |
| (C95)(C95)(C95)(C11)(C11)(C11)(C11) |
將格式化寬字元輸出列印至 stdout 或檔案串流 或緩衝區讀取格式化寬字元輸入 (函式) |
檔案定位 | |
| 定義於標頭檔
<stdio.h> | |
| 傳回目前的檔案位置指示器 (函式) | |
| 取得檔案位置指示器 (函式) | |
| 將檔案位置指示器移動到檔案中的特定位置 (函式) | |
| 將檔案位置指示器移動到檔案中的特定位置 (函式) | |
| 將檔案位置指示器移動到檔案開頭 (函式) | |
錯誤處理 | |
| 定義於標頭檔
<stdio.h> | |
| 清除錯誤 (函式) | |
| 檢查檔案結束符號 (EOF) (函式) | |
| 檢查檔案錯誤 (函式) | |
| 將對應於目前錯誤的字串顯示至 stderr (函式) | |
檔案操作 | |
| 定義於標頭檔
<stdio.h> | |
| 刪除檔案 (函式) | |
| 重新命名檔案 (函式) | |
| (C11) |
傳回暫存檔案的指標 (函式) |
| (C11) |
傳回唯一的檔案名稱 (函式) |
[編輯] 巨集常數
| 定義於標頭檔
<stdio.h> | |
| EOF |
int 型別且為負值的整數常數表示式 (巨集常數) |
| FOPEN_MAX |
可同時開啟的檔案最大數量 (巨集常數) |
| FILENAME_MAX |
儲存最長支援檔案名稱所需的 char 陣列大小 (巨集常數) |
| BUFSIZ |
setbuf 所使用緩衝區的大小 (巨集常數) |
| _IOFBF_IOLBF_IONBF |
setvbuf 的引數,表示全緩衝 I/O setvbuf 的引數,表示行緩衝 I/O setvbuf 的引數,表示無緩衝 I/O (巨集常數) |
| SEEK_SETSEEK_CURSEEK_END |
fseek 的引數,表示從檔案開頭進行搜尋 fseek 的引數,表示從目前檔案位置進行搜尋 fseek 的引數,表示從檔案結尾進行搜尋 (巨集常數) |
| TMP_MAXTMP_MAX_S (C11) |
tmpnam 可產生的唯一檔案名稱最大數量 tmpnam_s 可產生的唯一檔案名稱最大數量 (巨集常數) |
| L_tmpnamL_tmpnam_s (C11) |
儲存 tmpnam 結果所需的 char 陣列大小 儲存 tmpnam_s 結果所需的 char 陣列大小 (巨集常數) |
[編輯] 參考資料
- C23 標準 (ISO/IEC 9899:2024)
- 7.21 輸入/輸出 <stdio.h> (頁: 待定)
- 7.29 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:待定)
- 7.31.11 輸入/輸出 <stdio.h> (頁: 待定)
- 7.31.16 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:待定)
- K.3.5 輸入/輸出 <stdio.h> (頁: 待定)
- C17 標準 (ISO/IEC 9899:2018)
- 7.21 輸入/輸出 <stdio.h> (頁: 待定)
- 7.29 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:待定)
- 7.31.11 輸入/輸出 <stdio.h> (頁: 待定)
- 7.31.16 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:待定)
- K.3.5 輸入/輸出 <stdio.h> (頁: 待定)
- C11 標準 (ISO/IEC 9899:2011)
- 7.21 輸入/輸出 <stdio.h> (頁: 296-339)
- 7.29 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:402-446)
- 7.31.11 輸入/輸出 <stdio.h> (頁: 456)
- 7.31.16 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:456)
- K.3.5 輸入/輸出 <stdio.h> (頁: 586-603)
- C99 標準 (ISO/IEC 9899:1999)
- 7.19 輸入/輸出 <stdio.h> (頁: 262-305)
- 7.24 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:348-392)
- 7.26.9 輸入/輸出 <stdio.h> (頁: 402)
- 7.26.12 擴充多位元組與寬字元公用程式 <wchar.h> (頁碼:402)
- C89/C90 標準 (ISO/IEC 9899:1990)
- 4.9 輸入/輸出 <stdio.h>
- 4.13.6 輸入/輸出 <stdio.h>
[編輯] 參見
| C++ 文件 關於 C 風格檔案輸入/輸出
|