在 C 語言中,檔案操作是透過「流」來抽象處理各種輸入輸出裝置。Turbo C 2.0 區分了文字流與二進位流,對應磁碟上的文字檔與二進位檔。所有檔案操作函數都使用 FILE* 型別的檔案指標,它實際上是一個結構指標,內含檔案管理所需的資訊(如緩衝區位置、存取模式、錯誤狀態等)。
FILE *fopen(const char *filename, const char *mode);
第一個參數為檔案路徑與名稱,注意路徑中的反斜線需轉義(如 "C:\\TC\\TEST.DAT")。第二個參數指定開啟模式:
| 模式 | 說明 |
|---|---|
| r | 開啟文字檔唯讀 |
| w | 建立文字檔唯寫(若存在則截斷) |
| a | 附加寫入,檔案不存在則建立 |
| r+ | 開啟文字檔讀寫 |
| w+ | 建立文字檔讀寫 |
| a+ | 開啟或建立檔案附加讀寫 |
| b | 二進位模式(可與上述模式組合,如 "rb"、"wb+") |
| t | 文字模式(預設) |
成功時傳回檔案指標,失敗傳回 NULL。務必檢查傳回值以確認檔案是否正確開啟。
int fclose(FILE *stream);
將緩衝區資料寫入實體檔案並釋放資源。成功傳回 0,失敗傳回非零值。程式結束前應關閉所有開啟的檔案,避免資料遺失。
#include <stdio.h>
int main(void) {
FILE *fp = fopen("CLIB", "rb");
if (fp == NULL) {
puts("File open error");
return 1;
}
int result = fclose(fp);
if (result == 0)
printf("OK\n");
else
puts("File close error");
return 0;
}
此範例示範開啟二進位檔唯讀、檢查錯誤、關閉檔案並驗證結果的完整流程。