程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 文件操作API函數介紹

文件操作API函數介紹

編輯:關於VC++

在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

將視圖的變化刷新寫入磁盤

希望通過以上幾個常用的 API 函數,能快速的提高文件操作過程函數的編寫。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved