檔案操作程式設計之檔案讀寫

2021-07-05 03:49:04 字數 1663 閱讀 5992

微軟提供了強大的檔案讀寫(檔案i/o)操作的程式設計介面,我們可以通過呼叫api函式的方式來實現檔案的讀寫。一般情況下,檔案的讀寫過程如圖所示:

handle createfile(

lpctstr lpfilename,//指向檔名的指標

dword dwdesiredaccess,//訪問模式(讀/寫)

dword dwsharemode,//共享模式

lpsecurity_attributes lpsecurityattributes,//指向安全屬性的指標

dword dwcreationdisposition,//如何建立

dword dwflagsandattributes,//檔案屬性

handle htemplatefile//用於複製檔案控制代碼

);

如果該函式呼叫成功,則返回檔案控制代碼。否則返回invalid_handle_value。

在成功呼叫createfile建立檔案控制代碼之後,就返回所開啟或建立的檔案的控制代碼,可呼叫writefile函式或者readfile函式來讀取檔案。

bool writerfile(

handle hfile,//檔案控制代碼

lpcvoid lpbuffer,//資料緩衝區指標

dword nnumberofbytestowrite,//要寫入的位元組數

lpdword lpnumberofbyteswritten,//用於儲存實際寫入位元組數的儲存區域的指標

);bool readfile(

handle hfile,//檔案控制代碼

lpcvoid lpbuffer,//資料緩衝區指標

dword nnumberofbytestoread,//要讀取的位元組數

lpdword lpnumberofbytesread,//指向儲存實際讀取位元組數的儲存區域的指標

);

如果讀取或寫入操作成功,函式就會返回true。在完成檔案的讀寫操作後還需呼叫handle函式關閉檔案的控制代碼,以便其他程式對檔案進行操作。

#include 

#include

#include

int main(int argc, char* argv)

//呼叫setfilepointer函式調整檔案指標位置,移動到檔案末尾

if (setfilepointer(hfile, 0, null, file_end) == -1)

char buff[256] = "配置資訊";

dword dwwrite;

//把buff中的內容寫入到檔案末尾

if(!writefile(hfile, &buff, strlen(buff), &dwwrite, null))

printf("往 %s 中寫入資料成功\n",argv[1]);

closehandle(hfile);

return

0;}

其中setfilepointer函式的作用是設定檔案指標的位置。當乙個檔案被開啟時,系統會維護乙個檔案指標,指向檔案的下乙個讀寫操作的位置,所以隨著檔案的讀寫,檔案指標的位置也會隨之移動。

我想要更好更遠的月亮

想要未知的瘋狂

想要聲色的張揚

Linux 環境程式設計之檔案I O 檔案讀寫

函式介面 includessize t read int fd,void buf,size t nbytes ssize t write int fd,const void buf,size t nbytes read使用 write使用 測試 include include include inc...

檔案操作 讀寫檔案

對檔案的讀寫操作應該是最重要的檔案操作,system.io命名空間提供了諸多檔案讀寫操作類,對檔案內容進行操作常見有3種方式 文字模式 二進位制模式以及非同步模式。1 文字模式 streamreader 和streamwriter類提供了按文字模式讀寫資料的方法。1.1 streamreader 類...

學習Linux C程式設計之檔案操作

1 fopen函式 fopen函式類似於系統呼叫中的open函式。和open一樣,它返回檔案的識別符號,只是這裡叫做流 stream 在庫函式裡實現為乙個指向檔案的指標。如果需要對裝置的行為進行明確的控制,最好使用底層系統呼叫,因為這可以避免使用庫函式帶來的一些非預期的 如輸入 輸出緩衝。函式原型 ...