文件核心概念
文件 = 有序數據集合 + 文件名。駐留外部介質(磁盤),使用時調入內存。
雙維分類體系
按用戶視角:普通文件 vs 設備文件
| 類別 | 示例 | 標準流 |
| 普通文件 | 源碼 .c、目標 .obj、可執行 .exe、數據文件 | — |
| 設備文件 | 顯示器、鍵盤、打印機 | stdout、stdin、stdprn |
C 語言統一抽象:printf/putchar → stdout;scanf/getchar → stdin。
按編碼方式:文本 vs 二進制
| 特性 | 文本 (ASCII) | 二進制 |
| 存儲單位 | 1 字符 = 1 字節 | 按內存二進制像直接存儲 |
| 示例 5678 | 4 字節:'5''6''7''8' | 2 字節:0x16 0x2E |
| 可讀性 | TYPE 可讀 | 亂碼不可讀 |
| 處理模型 | 字符流,受換行符控制 | 字節流,程序控制開始/結束 |
C 系統統稱為流式文件,以字節為單位統一處理。
FILE 指針:文件操作的句柄
FILE *fp;
FILE 為系統定義結構體,含文件名、狀態、當前位置等
- 用戶無需關心內部細節,僅通過
fp 間接操作
- 習稱「文件指針」,實為指向控制塊的指針
文件操作全生命週期
- 打開:建立控制塊,
fp 指向它 → fopen()
- 讀/寫/定位:通過
fp 調用各類庫函數
- 關閉:斷開關聯,釋放資源 →
fclose()
所有操作均由標準庫函數完成,本章將逐一介紹核心 API。
- 上一篇文章: C 語言文件讀寫基石:fgetc/fputc、fclose 核心機制與避坑指南
- 下一篇文章: C 語言預處理器核心技術:無參宏定義、宏展開陷阱與最佳實踐
Copyright ©
程式碼之家 All Rights Reserved