Win32學習筆記 檔案系統

2021-06-16 13:03:14 字數 2529 閱讀 6546

一windows卷(volumn)

1. 卷的獲取

getlogicaldrivers 返回乙個dword值,這個值的沒個位代表是否存在相應的卷

getlogicadriverstrings 獲取乙個卷的碟符的字串。

void showvolumn()

; getlogicaldrivestrings(max_path, sztext) ;

tchar * psztemp = sztext ;

//輸出碟符

while (0 != psztemp[0])

}

2. 卷的型別

getdrivetype 返回磁碟的型別

void showtype(lptstr pszdrive)

break;

case drive_cdrom:

break;

default:

break;

}}

3. 卷的資訊

getvoluminfomation

void showvoluminfo(lptstr pszdrive) 

; dword dwvolumenamesize = max_path;

dword volumeserialnumber = 0;

dword maximumcomponentlength = 0;

dword filesystemflags = 0 ;

tchar filesystemnamebuffer[max_path] = ;

dword filesystemnamesize = max_path ;

getvolumeinformation(pszdrive, szvolumenamebuffer, dwvolumenamesize, &volumeserialnumber

, &maximumcomponentlength, &filesystemflags, filesystemnamebuffer, filesystemnamesize) ;

//程式本地化

setlocale(lc_all, "chs") ;

wprintf(_t("\t %s %08x %d %08x %s\n"),szvolumenamebuffer, volumeserialnumber

,maximumcomponentlength, filesystemflags, filesystemnamebuffer) ;

}

4.卷的大小

getdiskfreespace2g以下

getdiskfreespace不限制

檔案系統是通過簇管理硬碟,沒個簇是由幾個扇區組成。例如2/4/8/16/32扇區構成1個簇

fat32檔案系統1個簇 = 8k位元組

ntfs檔案系統1個簇 = 4k 位元組

簇是檔案系統存放資料的最小單位。即使檔案只有1個位元組也需要占用1簇。

void showspace(lptstr pszdrive)

5. 更改卷標

setvolumelabel

二 目錄

1. 系統和當前目錄

1.1getwindowsdirectory

1.2getsystemdirectory

1.3gettmppaht

1.4getcurrentdirectory

setcurrentdirectory

2. 目錄的使用

2.1建立目錄

createdirectory

2.2刪除目錄

removedirectory //只能是空目錄

2.3修改目錄名稱

movefile

三檔案1. 檔案的建立或開啟

createfile

2. 檔案的關閉

closehandle

3. 檔案資料的寫入

writefile

4. 檔案資料的讀取

readfile

5. 獲取檔案長度

getfilesize 

該函式的第二個引數為高32位,返回值為低32位

檔案的長度 = (低32位 , 高32位)

6. 設定檔案指標

setfilepointer

返回值是返回偏移量的低32位

7. 拷貝檔案

copyfile

8. 刪除檔案

deletefile

9. 檔案的屬性

getfileattributes 

getfileattribute***

四檔案的查詢

1. 查詢檔案

findfirstfile

2. 獲取查詢到的結果

findnextfile

3. 關閉查詢

findclose

win32 檔案系統

檔案系統是指作業系統用於管理磁碟上檔案的方法和資料結構 換句話說就是在磁碟上如何組織檔案的方法。getlogicaldrives 沒有引數,返回值就是當前作業系統有幾個卷 getlogicaldrivestrings getdrivetype根據返回值去判斷什麼型別,可查詢msdn文件來看返回值對應...

Win32學習筆記 檔案操作

dword getlogicaldrives void 該函式的返回值是乙個無符號的32位整數,每一位代表乙個驅動器,bit 0代表驅動器a,bit 1代表驅動器b,bit 2代表驅動器c,依次類推。如果該位為1,表示該驅動器存在,否則不存在。dword getlogicaldrivestrings...

Win32學習筆記 WM PAINT

1.wm paint 的產生 wm paint 由於視窗的互相覆蓋等,產生需要繪製的區域,那麼就會產生wm paint訊息。一般情況下通過api宣告需要繪製的區域,來產生wm paint 例如,可以使用invalidaterect宣告乙個需要重新繪製的區域。2.wm paint的注意點 2.1 如果...