Windows檔案操作的API函數

來源:互聯網
上載者:User

 

Windows檔案操作的API函數[轉載]在VC中,大多數情況對檔案的操作都使用系統提供的 API 函數,但有的函數我們不是很熟悉,以下提供一些檔案操作 API 函數介紹:

一般檔案操作 API

CreateFile
開啟檔案
要對檔案進行讀寫等操作,首先必須獲得檔案控制代碼,通過該函數可以獲得檔案控制代碼,該函數是通向檔案世界的大門。

ReadFile
從檔案中讀取位元組資訊。
在開啟檔案獲得了檔案控制代碼之後,則可以通過該函數讀取資料。

WriteFile
向檔案寫入位元組資訊。
同樣可以將檔案控制代碼傳給該函數,從而實現對檔案資料的寫入。

CloseHandle
關閉檔案控制代碼。
開啟門之後,自然要記得關上。

GetFileTime
擷取檔案時間。
有三個檔案時間可供擷取:建立時間、最後訪問時間、最後寫時間。
該函數同樣需要檔案控制代碼作為入口參數。

GetFileSize
擷取檔案大小。
由於檔案大小可以高達上數G(1G需要30位),因此一個32位的雙位元組類型無法對其精確表達,因此返回碼錶示低32位,還有一個出口參數可以傳出高32位。
該函數同樣需要檔案控制代碼作為入口參數。

GetFileAttributes
擷取檔案屬性。
可以擷取檔案的存檔、唯讀、系統、隱藏等屬性。
該函數只需一個檔案路徑作為參數。

SetFileAttributes
設定檔案屬性。
能擷取,自然也應該能設定。
可以設定檔案的存檔、唯讀、系統、隱藏等屬性。
該函數只需一個檔案路徑作為參數。

GetFileInformationByHandle
擷取所有檔案資訊
該函數能夠擷取上面所有函數所能夠擷取的資訊,如大小、屬性等,同時還包括一些其他地方無法擷取的資訊,比如:檔案卷標、索引和連結資訊。
該函數需要檔案控制代碼作為入口參數。

GetFullPathName
擷取檔案路徑,該函數擷取檔案的完整路徑名。
需要提醒的是:只有當該檔案在目前的目錄下,結果才正確。如果要得到真正的路徑。應該用GetModuleFileName函數。

CopyFile
複製檔案
注意:只能複製檔案,而不能複製目錄

MoveFileEx
移動檔案
既可以移動檔案,也可以移動目錄,但不能跨越盤符。(Window2000下設定移動標誌可以實現跨越盤符操作)

DeleteFile
刪除檔案

GetTempPath
擷取Windows臨時目錄路徑

GetTempFileName
在Windows臨時目錄路徑下建立一個唯一的臨時檔案

SetFilePoint
移動檔案指標。
該函數用於對檔案進行進階讀寫操作時。

檔案的鎖定和解鎖

LockFile
UnlockFile
LockFileEx
UnlockFileEx

以上四個函數用於對檔案進行鎖定和解鎖。這樣可以實現檔案的非同步作業。可同時對檔案的不同部分進行各自的操作。

檔案的壓縮和解壓縮

LZOpenFile
開啟壓縮檔以讀取

LZSeek
尋找壓縮檔中的一個位置

LZRead
讀一個壓縮檔

LZClose
關閉一個壓縮檔

LZCopy
複製壓縮檔並在處理過程中展開

GetExpandedName
從壓縮檔中返迴文件名稱。

以上六個函數為32位 API 中的一個小擴充庫,檔案壓縮擴充庫中的函數。檔案壓縮可以用命令 compress 建立。

檔案核心對象

32位 API 提供一個稱為檔案映像的特性,它允許將檔案直接映射為一個應用的虛擬記憶體空間,這一技術可用於簡化和加速檔案訪問。

CreateFileMapping
建立和命名映射

MapViewOfFile
把檔案對應裝載如記憶體

UnmapViewOfFile
釋放視圖並把變化寫迴文件

FlushViewOfFile
將視圖的變化重新整理寫入磁碟 PathFileExists檔案是否存在

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.