1、檔案系統
檔案系統是作業系統用於管理磁碟上檔案的方法和資料結構。
2、卷相關的api
獲取卷getlogicaldrives()
獲取乙個卷的碟符的字串
getlogicaldrivestrings()
獲取卷的型別
getdrivetype()
獲取卷的資訊
getvolumeinformation()
3、目錄相關的api
建立目錄
createdirectory()
刪除目錄
removedirectory()
修改目錄
movefile()
獲取程式當前目錄
getcurrentdirectory()
設定程式當前目錄
setcurrentdirectory()
4、檔案相關的api
建立檔案
createfile()
關閉檔案
closehandle()
獲取檔案長度
getfilesize()
獲取檔案的屬性和資訊
getfileattribute***()
讀取檔案
//分配空間
lpstr pszbuffer = (lpstr)malloc(10);
zeromemory(pszbuffer,10);
//設定當前讀取位置
setfilepointer(hfile,1,null,file_begin);
//讀取資料
dword dwreadlength = 0;
readfile(hfile,pszbuffer,10,&dwreadlength,null);
//釋放記憶體
free(pszbuffer);
//關閉檔案
closehandle(hfile);
寫入檔案
writefile()
拷貝檔案
copyfile()
刪除檔案
deletefile()
查詢檔案
findfirstfile()
findnextfile()
5、記憶體對映檔案
像操作記憶體一樣操作檔案,擁有遠比io的方式好的多的效能,且可以為多個程序共享。
//1、得到檔案控制代碼
handle
hfile
= createfile
((lpcwstr
)"filepath"
, generic_read
| generic_write
); if
(hfile
== invalid_handle_value)
handle
hfilemap= (
hfile
, null
, page_readwrite
, 0,
buf_size
, (lpcwstr
)mapfilename
); //3、將物理頁與線性位址進行對映
lptstr
lpaddr
= (lptstr
)mapviewoffile
(hfilemap
, file_map_copy
, 0, 0,
buf_size
); if
(lpaddr
== null)
//4、讀取檔案
dword
dw= *(
pdword
)lpaddr
; //5、寫入檔案
*(pdword
)lpaddr
= 0x1234;
//強制更新快取
flushviewoffile
((pdword
)lpaddr
, 4);
//6、關閉資源
unmapviewoffile
(lpaddr
); closehandle
(hfilemap
); closehandle
(hfile);
file_map_copy
:寫拷貝,寫的時候拷貝乙份物理頁
Windows檔案系統 NTFS檔案系統
windows作為最流行的個人計算機作業系統,成為了我們學習 工作和生活的一部分。我們幾乎每天都會經歷開啟檔案管理器,進入具體磁碟,開啟具體檔案,而windows採用檔案系統管理著所有的檔案和磁碟空間,這個檔案系統就是ntfs。ntfs檔案系統 文件主要分為兩大部分 1.ntfs檔案系統簡介 2.檔...
windows 檔案系統
檔案系統是作業系統用於明確儲存裝置 磁碟 固態硬碟 上組織檔案的方法。從系統角度來看,檔案系統是對檔案儲存裝置的空間進行組織和分配,負責檔案儲存並對存入的檔案進行保護和檢索的系統。fat32分割槽格式採用32位的檔案分配表,使其對磁碟的管理能力大大增強,突破了fat16對每乙個分割槽的容量只有2gb...
Fedora 訪問windows檔案系統
自http linux.ccidnet.com art 3067 20070608 1107061 1.html.學習學習,開卷有益!linux 核心支援讀寫fat ntfs vfat fat32 hfs 等檔案系統 至少可以讀 因此在 linux 下訪問 windows 要比在 windows 下...