C++Builder 提供豐富的檔案操作方式,本文系統歸納為四大體系,並以詳細函數表與範例代碼說明各自特性與適用場景。
FILE* 與 低層 I/O handle)fopen/fclose, fread/fwrite, fseek/ftell, fprintf/fscanf, feof/ferror… 支援文字/二進位模式、格式化 I/O、緩衝控制。open/close, read/write, lseek, filelength, chsize… 直接操作檔案控制碼,類似 DOS 21h 中斷服務,適合需精確控制位移、大檔案分塊處理的場合。fstream 體系)fstream (雙向), ifstream (輸入), ofstream (輸出)。ios::in/out/binary/app/ate/trunc/nocreate/noreplace 可組合。<< / >> 配合操縱子 (hex, setprecision)。read/write (緩衝區, 位元組數), get/put (單字元), seekg/seekp (雙指標定位)。CreateFile, ReadFile, WriteFile…)TFileStream, TMemoryStream, TIniFile, TSearchRec…)TFileStream 封裝 Win32 API,提供 Read/Write/Seek/Size/Position 等直觀介面,支援建構式直接開檔。TMemoryStream 記憶體緩衝流,適合資料組裝、暫存、轉換。FileOpen/FileCreate/FileRead/FileWrite/FileSeek/FileClose 全域函數,介於 C 執行期庫與 VCL 之間,常用於舊碼移植。| 場景 | 建議體系 |
|---|---|
| 跨平台邏輯、型別安全、現代 C++ 風格 | iostreams (fstream) |
| 高效能二進位大檔、精確位移控制、舊碼維護 | C 低層 I/O 或 TFileStream |
| Windows 進階特性(權限、映射、鎖定、交易) | Win32 API |
| 快速開發、VCL 組件整合、INI/資源/資料庫存取 | VCL 封裝類別 |
掌握四大體系優劣,可根據專案需求靈活選擇或混合使用。