名稱空間
變體
操作

檔案輸入/輸出

來自 cppreference.com
< c
 
 
檔案輸入/輸出
型別和物件
        
函式
檔案訪問
(C95)
非格式化輸入/輸出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

格式化輸入
 

<stdio.h> 標頭檔案提供了通用的檔案操作支援,並提供了窄字元輸入/輸出功能。

<wchar.h> 標頭檔案提供了寬字元輸入/輸出功能。

I/O 流由 FILE 型別的物件表示,只能透過 FILE* 型別的指標進行訪問和操作。每個流都與一個外部物理裝置(檔案、標準輸入流、印表機、序列埠等)相關聯。

目錄

[編輯] 型別

定義於標頭檔案 <stdio.h>
物件型別,能夠儲存控制 C I/O 流所需的所有資訊
(typedef) [編輯]
非陣列完整物件型別,能夠唯一指定檔案中位置和多位元組解析器狀態
(typedef) [編輯]

[編輯] 預定義標準流

定義於標頭檔案 <stdio.h>
與輸入流關聯的 FILE* 型別的表示式
與輸出流關聯的 FILE* 型別的表示式
與錯誤輸出流關聯的 FILE* 型別的表示式
(宏常量) [編輯]

[編輯] 函式

檔案訪問
定義於標頭檔案 <stdio.h>
開啟檔案
(函式) [編輯]
用不同的名稱開啟一個現有流
(函式) [編輯]
關閉檔案
(函式) [編輯]
將輸出流與實際檔案同步
(函式) [編輯]
為檔案流設定緩衝區
(函式) [編輯]
為檔案流設定緩衝區及其大小
(函式) [編輯]
在標頭檔案 <wchar.h> 中定義
(C95)
在寬字元 I/O 和窄字元 I/O 之間切換檔案流
(函式) [編輯]
直接輸入/輸出
定義於標頭檔案 <stdio.h>
從檔案讀取
(函式) [編輯]
寫入檔案
(函式) [編輯]
非格式化輸入/輸出
窄字元
定義於標頭檔案 <stdio.h>
從檔案流中獲取一個字元
(函式) [編輯]
從檔案流獲取字元字串
(函式) [編輯]
向檔案流寫入一個字元
(函式) [編輯]
將字元字串寫入檔案流
(函式) [編輯]
stdin 讀取一個字元
(函式) [編輯]
(在 C11 中移除)(C11)
stdin 讀取一個字串
(函式) [編輯]
stdout 寫入一個字元
(函式) [編輯]
stdout 寫入一個字串
(函式) [編輯]
將一個字元放回檔案流中
(函式) [編輯]
寬字元
在標頭檔案 <wchar.h> 中定義
從檔案流中獲取一個寬字元
(函式) [編輯]
(C95)
從檔案流中獲取一個寬字串
(函式) [編輯]
向檔案流寫入一個寬字元
(函式) [編輯]
(C95)
向檔案流寫入一個寬字串
(函式) [編輯]
stdin 讀取一個寬字元
(函式) [編輯]
stdout 寫入一個寬字元
(函式) [編輯]
將一個寬字元放回檔案流中
(函式) [編輯]
格式化輸入/輸出
窄字元
定義於標頭檔案 <stdio.h>
stdin、檔案流或緩衝區讀取格式化輸入
(函式) [編輯]
stdin、檔案流或緩衝區讀取格式化輸入
使用可變引數列表
(函式) [編輯]
將格式化輸出列印到 stdout、檔案流或緩衝區
(函式) [編輯]
將格式化輸出列印到 stdout、檔案流或緩衝區
使用可變引數列表
(函式) [編輯]
寬字元
在標頭檔案 <wchar.h> 中定義
stdin、檔案流或緩衝區讀取格式化的寬字元輸入
(函式) [編輯]
stdin、檔案流讀取格式化的寬字元輸入
或使用可變引數列表的緩衝區
(函式) [編輯]
將格式化的寬字元輸出列印到 stdout、檔案流或緩衝區
(函式) [編輯]
將格式化的寬字元輸出列印到 stdout、檔案流
或使用可變引數列表的緩衝區
(函式) [編輯]
檔案定位
定義於標頭檔案 <stdio.h>
返回當前檔案位置指示器
(函式) [編輯]
獲取檔案位置指示器
(函式) [編輯]
將檔案位置指示器移動到檔案中特定位置
(函式) [編輯]
將檔案位置指示器移動到檔案中特定位置
(函式) [編輯]
將檔案位置指示器移動到檔案開頭
(函式) [編輯]
錯誤處理
定義於標頭檔案 <stdio.h>
清除錯誤
(函式) [編輯]
檢查檔案結束
(函式) [編輯]
檢查檔案錯誤
(函式) [編輯]
stderr 顯示與當前錯誤對應的字串
(函式) [編輯]
檔案操作
定義於標頭檔案 <stdio.h>
擦除檔案
(函式) [編輯]
重新命名檔案
(函式) [編輯]
返回指向臨時檔案的指標
(函式) [編輯]
返回一個唯一的檔名
(函式) [編輯]

[編輯] 宏常量

定義於標頭檔案 <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> (p: TBD)
  • 7.29 擴充套件多位元組和寬字元工具 <wchar.h> (p: 待定)
  • 7.31.11 輸入/輸出 <stdio.h> (p: TBD)
  • 7.31.16 擴充套件多位元組和寬字元工具 <wchar.h> (p: 待定)
  • K.3.5 輸入/輸出 <stdio.h> (p: TBD)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.21 輸入/輸出 <stdio.h> (p: TBD)
  • 7.29 擴充套件多位元組和寬字元工具 <wchar.h> (p: 待定)
  • 7.31.11 輸入/輸出 <stdio.h> (p: TBD)
  • 7.31.16 擴充套件多位元組和寬字元工具 <wchar.h> (p: 待定)
  • K.3.5 輸入/輸出 <stdio.h> (p: TBD)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.21 輸入/輸出 <stdio.h> (p: 296-339)
  • 7.29 擴充套件多位元組和寬字元工具 <wchar.h> (p: 402-446)
  • 7.31.11 輸入/輸出 <stdio.h> (p: 456)
  • 7.31.16 擴充套件多位元組和寬字元工具 <wchar.h> (p: 456)
  • K.3.5 輸入/輸出 <stdio.h> (p: 586-603)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.19 輸入/輸出 <stdio.h> (p: 262-305)
  • 7.24 擴充套件多位元組和寬字元工具 <wchar.h> (p: 348-392)
  • 7.26.9 輸入/輸出 <stdio.h> (p: 402)
  • 7.26.12 擴充套件多位元組和寬字元工具 <wchar.h> (p: 402)
  • C89/C90 標準 (ISO/IEC 9899:1990)
  • 4.9 輸入/輸出 <stdio.h>
  • 4.13.6 輸入/輸出 <stdio.h>

[編輯] 另請參閱

C++ 文件 用於 C 風格檔案輸入/輸出