ReadFile

ReadFile

從檔案指針指向的位置開始將數據讀出到一個檔案中, 且支持同步和異步操作, 如果檔案打開方式沒有指明FILE_FLAG_OVERLAPPED的話,當程式調用成功時,它將實際讀出檔案的位元組數保存到lpNumberOfBytesRead指明的地址空間中。 FILE_FLAG_OVERLAPPED 允許對檔案進行重疊操作 如果檔案要互動使用的話,當函式調用完畢時要記得調整檔案指針。 從檔案中讀出數據。與fread函式相比,這個函式要明顯靈活的多。該函式能夠操作通信設備、管道、套接字以及郵槽。

函式原型

FILE_FLAG_OVERLAPPED

檔案或設備被打開或創建異步I / O。

當後續的I / O操作完成這個句柄,OVERLAPPED結構中指定的事件 將被設定為有信號狀態。

如果這個標誌被指定,該檔案可用於同時讀取和寫入操作。

如果沒有指定這個標誌,然後被序列化I / O操作,即使調用讀寫函式指定一個OVERLAPPED結構。


功能說明

從檔案指針指向的位置開始將數據讀出到一個檔案中, 且支持同步和異步操作,

如果檔案打開方式沒有指明 FILE_FLAG_OVERLAPPED的話,當程式調用成功時,它將實際讀出檔案的位元組數保存到lpNumberOfBytesRead指明的地址空間中。

FILE_FLAG_OVERLAPPED 允許對檔案進行重疊操作

如果檔案要互動使用的話,當函式調用完畢時要記得調整檔案指針。

從檔案中讀出數據。與fread函式相比,這個函式要明顯靈活的多。該函式能夠操作通信設備、管道、套接字以及郵槽。

參數說明

HANDLE hFile, 需要讀入數據的檔案指針,這個指針指向的檔案必須是GENERIC_READ 訪問屬性的檔案。

LPVOID lpBuffer,接收數據的緩衝區。

DWORD nNumberOfBytesToRead,指定要讀取的位元組數。

LPDWORD lpNumberOfBytesRead,指向一個DWORD類型變數的指針,用來接收讀取的位元組數。如果下一個參數為NULL,那么一定要傳入這個參數。

LPOVERLAPPED lpOverlapped OVERLAPPED結構體指針,如果檔案是以 FILE_FLAG_OVERLAPPED方式打開的話,那么這個指針就不能為NULL。

FILE_FLAG_OVERLAPPED 允許對檔案進行重疊操作

返回值

調用成功,返回非0

調用不成功,返回為0

會設定GetLastError。如啟動的是一次異步讀操作,則函式會返回零值,並將ERROR_IO_PENDING設定成GetLastError的結果。如結果不是零值,但讀入的位元組數小於nNumberOfBytesToRead參數指定的值,表明早已抵達了檔案的結尾。

套用實例

相關詞條

相關搜尋

熱門詞條

聯絡我們