WIN32 FIND DATA結構詳解

2021-06-19 06:48:33 字數 1219 閱讀 4038

win32_find_data結構描述了乙個由findfirstfile, findfirstfileex, 或findnextfile函式查詢到的檔案資訊,

typedef struct _win32_find_data win32_find_data, *pwin32_find_data;

win32_find_data ffd ;

handle hfind = findfirstfile("c:\\test.dat",&ffd);

在使用這個結構時不能手工修改這個結構中的任何資料,結構對於開發人員來說只能作為乙個唯讀資料,其所有的成員變數都會由系統完成填寫。在msdn幫助中可以查詢到關於win32_find_data結構的更加詳細的說明。

if(finddata.dwfileattributes & file_attribute_directory)

這個判斷語句是通過 將dwfileattributes和file_attribute_directory做位的與運算 

來判斷所找到的專案是不是資料夾

因為 findfirstfile返回的 finddata 中 dwfileattributes項的值

可能是 

file_attribute_archive 

file_attribute_compressed 

file_attribute_directory 

file_attribute_hidden 

file_attribute_normal 

file_attribute_offline 

file_attribute_readonly 

file_attribute_system 

file_attribute_temporary 

中幾項的組合值

finddata.dwfileattributes & file_attribute_directory 

的結果只能是兩種: 

file_attribute_directory 非零值 ,if條件是真 

0 ,if條件是假

通過 finddata.dwfileattributes & file_attribute_directory 

可以判斷 dwfileattributes項的值中是否 file_attribute_directory,即判斷所找到的專案是不是資料夾

這種對位運算結果的判斷,在windows程式設計中有很多 

如窗體屬性,滑鼠按鍵

每天進步一點點 WIN32 FIND DATA

關於檔案的全部屬性資訊。總計有以下以下9種 檔案的標題名 檔案的屬性 唯讀 存檔,隱藏等 檔案的建立時間 檔案的最後訪問時間 檔案的最後修改時間 檔案大小的高位雙字 檔案大小的低位雙字 保留 保留。在這裡只有檔案標題名和檔案的長度可以通過cfile模擬較方便的獲得,而對於其他幾種屬性的獲取和設定就無...

Win32彙編 選擇結構

386 選擇的處理器 model flat,stdcall 儲存模型,win32程式只能用平展 flat 模型 option casemap none 指明識別符號大小寫敏感 include kernel32.inc 要引用的標頭檔案 includelib kernel32.lib 要引用的庫檔案 ...

Win32程式設計

win32 malloc函式的底層實現是win32api utf 16編碼以16位無符號整數為單位,注意是16位為乙個單位,不是乙個字元就只有16位,這個要看字元的unicode編碼處於什麼範圍而定,有可能是2個位元組,也可能是4個位元組現在機器上的unicode編碼一般就是指utf 16 以兩個位...