| 函數 | 用途 | 說明 |
|---|---|---|
CreateFile | 開啟文件 | 取得文件控制代碼,通往文件世界的大門 |
ReadFile | 讀取位元組 | 取得控制代碼後讀取資料 |
WriteFile | 寫入位元組 | 透過控制代碼寫入資料 |
CloseHandle | 關閉控制代碼 | 開啟後記得關閉 |
GetFileTime | 取得文件時間 | 建立、最後存取、最後寫入三種時間,需控制代碼 |
GetFileSize | 取得文件大小 | 回傳碼為低 32 位,高 32 位由輸出參數傳回 |
GetFileAttributes | 取得文件屬性 | 存檔、唯讀、系統、隱藏等,僅需路徑 |
SetFileAttributes | 設定文件屬性 | 可設定上述屬性,僅需路徑 |
GetFileInformationByHandle | 取得所有文件資訊 | 整合上述所有資訊,含卷標、索引、連結資訊,需控制代碼 |
GetFullPathName | 取得完整路徑 | 僅當文件在當前目錄下結果正確,真正路徑請用 GetModuleFileName |
CopyFile | 複製文件 | 僅能複製文件,不能複製目錄 |
MoveFileEx | 移動文件/目錄 | 可移動文件與目錄,但不可跨磁碟機 (Win2000 設旗標可跨磁碟) |
DeleteFile | 刪除文件 | — |
GetTempPath | 取得暫存目錄 | — |
GetTempFileName | 建立唯一暫存文件 | 在暫存目錄下建立 |
SetFilePointer | 移動文件指標 | 進階讀寫操作時使用 |
LockFile / UnlockFileLockFileEx / UnlockFileEx上述四函數用於文件鎖定/解鎖,實現非同步操作,可同時對文件不同部分操作。
LZOpenFile:開啟壓縮文件讀取LZSeek:定位壓縮文件位置LZRead:讀取壓縮文件LZClose:關閉壓縮文件LZCopy:複製壓縮文件並展開GetExpandedName:從壓縮文件取得文件名此為 32 位 API 小型擴展庫,壓縮文件可用 compress 命令建立。
32 位 API 提供文件映射特性,允許將文件直接映射為應用程式虛擬記憶體空間,簡化並加速文件存取。
| 函數 | 用途 |
|---|---|
CreateFileMapping | 建立與命名映射 |
MapViewOfFile | 將文件映射載入記憶體 |
UnmapViewOfFile | 釋放視圖並寫回變更 |
FlushViewOfFile | 將視圖變更刷新寫入磁碟 |
希望這些常用 API 能幫助快速提升文件操作程式開發效率。