Windows檔案操作的API函式

2021-04-29 03:23:22 字數 2101 閱讀 5305

在vc中,大多數情況對檔案的操作都使用系統提供的 api 函式,但有的函式我們不是很熟悉,以下提供一些檔案操作 api 函式介紹:

一般檔案操作 api

createfile

開啟檔案

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

readfile

從檔案中讀取位元組資訊。

在開啟檔案獲得了檔案控制代碼之後,則可以通過該函式讀取資料。

writefile

向檔案寫入位元組資訊。

同樣可以將檔案控制代碼傳給該函式,從而實現對檔案資料的寫入。

closehandle

關閉檔案控制代碼。

開啟門之後,自然要記得關上。

getfiletime

獲取檔案時間。

有三個檔案時間可供獲取:建立時間、最後訪問時間、最後寫時間。

該函式同樣需要檔案控制代碼作為入口引數。

getfilesize

獲取檔案大小。

由於檔案大小可以高達上數g(1g需要30位),因此乙個32位的雙位元組型別無法對其精確表達,因此返回碼表示低32位,還有乙個出口引數可以傳出高32位。

該函式同樣需要檔案控制代碼作為入口引數。

getfileattributes

獲取檔案屬性。

可以獲取檔案的存檔、唯讀、系統、隱藏等屬性。

該函式只需乙個檔案路徑作為引數。

setfileattributes

設定檔案屬性。

能獲取,自然也應該能設定。

可以設定檔案的存檔、唯讀、系統、隱藏等屬性。

該函式只需乙個檔案路徑作為引數。

getfileinformationbyhandle

獲取所有檔案資訊

該函式需要檔案控制代碼作為入口引數。

getfullpathname

獲取檔案路徑,該函式獲取檔案的完整路徑名。

copyfile

複製檔案

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

movefileex

移動檔案

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

deletefile

刪除檔案

gettemppath

獲取windows臨時目錄路徑

gettempfilename

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

setfilepoint

移動檔案指標。

該函式用於對檔案進行高階讀寫操作時。

檔案的鎖定和解鎖

lockfile

unlockfile

lockfileex

unlockfileex

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

檔案的壓縮和解壓縮

lzopenfile

開啟壓縮檔案以讀取

lzseek

查詢壓縮檔案中的乙個位置

lzread

讀乙個壓縮檔案

lzclose

關閉乙個壓縮檔案

lzcopy

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

getexpandedname

從壓縮檔案中返回檔名稱。

以上六個函式為32位 api 中的乙個小擴充套件庫,檔案壓縮擴充套件庫中的函式。檔案壓縮可以用命令 compress 建立。

檔案核心物件

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

建立和命名對映

mapviewoffile

把檔案對映裝載如記憶體

unmapviewoffile

釋放檢視並把變化寫回檔案

flushviewoffile

將檢視的變化重新整理寫入磁碟

pathfileexists

檔案是否存在

Windows 檔案 目錄操作程式設計常用API

1 檔案操作函式 createfile 建立或開啟檔案 writefile 寫資料到檔案 readfile 從檔案讀資料 copyfile 拷貝檔案 movefile 移動或重新命名檔案 deletefile 刪除檔案 getmodulefilename 獲取檔案目錄 setfilepointer ...

windows路徑操作API函式

pathremoveargs 去除路徑的引數 pathremovebackslash 去除路徑最後的反斜槓 pathaddbackslash 在路徑最後加上反斜槓 pathremoveblanks 去除路徑前後的空格 pathaddextension 在檔案路徑後面加上副檔名 pathremovee...

windows路徑操作API函式

windows 路徑操作 api函式 路徑截斷與合併函式 pathremoveargs 去除路徑的引數 pathremovebackslash 去除路徑最後的反斜槓 pathaddbackslash 在路徑最後加上反斜槓 pathremoveblanks 去除路徑前後的空格 pathaddexten...