序言
wince中的檔案操作使用傳統的基於控制代碼的方法;檔案通過返回控制代碼的函式開啟;讀取和寫入函式被傳遞控制代碼以便指出要操作的函式;資料在檔案中讀取和寫入的偏移量由系統維護的檔案指標來指出;最後當讀取和寫入完成時,應用程式通過關閉檔案控制代碼來表示操作的結束。
正文1.1 建立和開啟檔案
handle createfile( lpctstr lpfilename,
dword dwdesiredaccess,
dword dwsharemode,
lpsecurity_attribute lpsecurityattribute,
dword dwcreationdisposition,
dword dwflagsandattribute,
handle htemplatefile
lpfilename---要開啟或建立的檔名。檔名稱應包括完全指定的路徑,對於沒有路徑資訊的檔名,系統預設為在對 象儲存庫的根目錄下。
dwdesiredaccess---指出所需的訪問許可權。允許使用的標誌是用來請求 對檔案進行讀取訪問的generic_read和對檔案進行寫入訪問的generic_write。要獲取檔案的讀取/寫入訪問必須同時傳遞兩個引數。
dwsharemode---指定了可以給於其他程序的訪問許可權。可以為file_shared_read/file_shared_write。
lpsecurityattribute---wince忽略該引數,設為null。
dwcreationdisposition---確定如何開啟或建立檔案。可取如下值:
create_new 建立乙個新檔案,如果該檔案存在,則該函式將失敗。
create_always 建立乙個新檔案或截斷乙個現有檔案。
open_existing 僅當檔案存在時才開啟檔案。
open_always 開啟乙個檔案,如果該檔案不存在就建立乙個檔案。這與create_always不同,因為如果檔案存在,它不會將檔案截斷到0位元組。
truncate_existing 開啟檔案並將其截斷到0位元組。如果檔案不存在,則該函式失敗。
dwflagsandattribute---定義檔案的屬性標誌。wince允許的標誌如下:
file_attribute_normal 預設屬性,將被任意其他屬性標誌所覆蓋。
file_attribute_readonly 唯讀屬性
file_attribute_archive 存檔屬性
file_attribute_system 系統屬性
file_attribute_hidden 隱藏屬性
file_flag_write_through 對檔案的寫操作不會被儲存到記憶體中
file_flag_random_access 向系統表明該檔案將被隨機訪問而不是順序訪問。
htemplatefile---忽略,設為0。
1.2 讀取和寫入
bool readfile( handle hfile,
lpvoid lpbuffer,
dword nnumberofbytestoread,
lpdword lpnumberofbytesread,
hfile---要讀取的已開啟檔案的控制代碼。
lpbuffer---指向接收資料的緩衝區的指標。
nnumberofbytestoread---要從檔案中讀取的位元組數。
lpnumberofbytesread---指向接收實際讀取的位元組數的dword指標。
注:資料的讀取從檔案指標所指定的檔案偏移量開始,在讀取完成後,將通過讀取的位元組數對檔案指標進行調整。
bool writefile( handle hfile,
lpvoid lpbuffer,
dword nnumberofbytestowrite,
lpdword lpnumberofbyteswritten,
該函式引數基本與readfile相同,只是lpbuffer現在指向的是要寫入到檔案中的資料。
1.3 移動檔案指標
dword setfilepointer( handle hfile,
long idistancetomove,
plong lpdistancetomovehigh,
dword dwmovemethod
hfile---檔案控制代碼。
idistancetomove---移動檔案指標的有符號偏移量距離,乙個有符號32位值。
lpdistancetomovehigh---若檔案指標移動距離超過4gb,該引數應指向乙個包含移動距離的高32位偏移量的長整數,否則設為null。
dwmovemethod---指出如何解釋偏移量。
file_begin 偏移量將從檔案的開始算起;
file_current 偏移量將從檔案的當前位置算起;
file_end 偏移量從檔案的末尾算起;
注:setfilepointer函式在移動完成之後將返回在新位置的檔案指標。若想查詢當前檔案位置而不改變檔案指標,只需使用零偏移量和相對於檔案中的當前位置來呼叫setfilepointer函式,如下:ncurrfileptr = setfilepointer(hfile, 0, null, file_current);
1.4 關閉檔案
closehandle(handle hobject);
WinCE下檔案的路徑
在wince下,不能用相對路徑,必須用絕對路徑 full path 來定位檔案。如,在program files testprogram目錄下的abc.txt檔案,只能用 program files testprogram abc.txt來定位,而不能用abc.txt定位。如 private voi...
WinCE檔案基本操作
wince 下對檔案的基本操作 wince 對檔案操作有兩種方式 一種是用wince 自帶的api 函式,另一種方法是用mfc 類庫種的cfile 類。我們先用第一種的操作 1 檔案的開啟 handle createfile lpctstr lpfilename,dword dwdesireacce...
WinCE檔案基本操作
wince 下對檔案的基本操作 wince 對檔案操作有兩種方式 一種是用 wince 自帶的api 函式,另一種方法是用 mfc類庫種的 cfile 類。我們先用第一種的操作 1 檔案的開啟 handle createfile lpctstr lpfilename,dword dwdesireac...