命名空間
變體
動作

檔案輸入/輸出

出自 cppreference.com
< c
 
 
檔案輸入/輸出
型別與物件
        
函式
檔案存取
(C95)
非格式化輸入/輸出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

格式化輸入
 

<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>
開啟檔案
(函式) [編輯]
以不同的名稱開啟現有的串流
(函式) [編輯]
關閉檔案
(函式) [編輯]
將輸出串流與實際檔案同步
(函式) [編輯]
為檔案串流設定緩衝區
(函式) [編輯]
為檔案串流設定緩衝區及其大小
(函式) [編輯]
定義於標頭檔 <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>
清除錯誤
(函式) [編輯]
檢查檔案結束符號 (EOF)
(函式) [編輯]
檢查檔案錯誤
(函式) [編輯]
將對應於目前錯誤的字串顯示至 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> (頁: 待定)
  • 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 風格檔案輸入/輸出
English Deutsch 日本語 中文(简体) 中文(繁體)