首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

C++ Builder 檔案操作完整指南 (C/C++/WinAPI/VCL)

     編輯:VC 教學

前言

檔案操作是程式開發的基礎。C++ Builder 提供多種層級的檔案操作方式,本文系統整理五大類:

  1. 基於 ANSI C 的流式與 I/O 檔案操作
  2. 基於 C++ 的 iostream 檔案流
  3. 基於 Windows API (Win32) 的檔案操作
  4. 基於 VCL/RTL 的高階檔案操作函數
  5. 特殊檔案 (INI、登錄、資源等) 操作

一、ANSI C 流式檔案操作

核心結構 FILE (定義於 stdio.h) 包含緩衝區指標、檔案描述符、旗標等。常用函數:

函數功能
fopen()開啟檔案流
fclose()關閉檔案流
fputc/fgetc寫/讀單一字元
fputs/fgets寫/讀字串
fprintf/fscanf格式化輸出/輸入
fseek/ftell定位/取得位置
fread/fwrite二進位區塊讀寫

範例:FILE *fp = fopen("test.txt", "w"); fprintf(fp, "Hello"); fclose(fp);

二、ANSI C 低階 I/O 操作

使用整數檔案控制代碼 (handle),函數有 open/close/read/write/lseek 等,無緩衝,直接對作業系統發出呼叫,效率較高但使用較繁瑣。

三、C++ iostream 檔案流

包含 fstream.h,使用 ifstream (輸入)、ofstream (輸出)、fstream (雙向)。支援 << / >> 運算子,型別安全,支援使用者定義型別多載。範例:ofstream out("data.bin", ios::binary); out.write((char*)&struct, sizeof(struct));

四、Windows API 檔案操作

核心函數:CreateFile、ReadFile、WriteFile、CloseHandle、SetFilePointer、GetFileSize、CopyFile、MoveFile、DeleteFile、FindFirstFile/FindNextFile 遍歷目錄。支援安全性屬性、重疊 I/O、記憶體對應檔案等進階功能。

五、VCL/RTL 高階函數 (最推薦)

C++ Builder 封裝了大量路徑、檔案管理、I/O 常用函數,支援 AnsiString,跨平台性較好。主要分類:

  • 路徑/檔名處理:ExtractFilePath/Name/Ext/Drive/Dir、ChangeFileExt、ExpandFileName/UNCFileName、ExtractRelativePath/ShortPathName、MatchesMask。
  • 檔案管理:FileExists、DirectoryExists、ForceDirectories、DeleteFile、RenameFile、FileCopy、FileAge、FileGetAttr/SetAttr、DiskFree/Space。
  • 檔案 I/O:FileOpen/Create/Read/Write/Seek/Close (使用整數 Handle),以及 TFileStream 類別 (RAII 風格,支援流操作)。

範例:TFileStream *fs = new TFileStream("test.dat", fmCreate); fs->WriteBuffer(&data, sizeof(data)); delete fs;

六、特殊檔案操作

  • INI 檔:TIniFile / TMemIniFile 讀寫區段/鍵值。
  • 登錄:TRegistry 封裝 RegOpenKey/Query/SetValue 等 API。
  • 資源檔:TResourceStream 讀取 EXE 內嵌資源 (位圖、圖示、字串表等)。

選擇建議:一般應用優先使用 VCL/RTL 函數或 TFileStream;需精細控制或高效能時用 WinAPI;跨平台或標準 C++ 專案用 iostream。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved