У меня есть два вопроса о функции ReadFile от Win32 API. Прежде всего, при условии, чтоФункция ReadFile от Win32 API
BOOL WINAPI ReadFile(
_In_ HANDLE hFile,
_Out_ LPVOID lpBuffer,
_In_ DWORD nNumberOfBytesToRead,
_Out_opt_ LPDWORD lpNumberOfBytesRead,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);
третий и четвертый параметры имеют тип DWORD, который может содержать не более 1^32 без переполнения. Означает ли это, что ReadFile может читать только файл с данными размером менее 1 × 32 байта за раз? Если это правда, я хочу, чтобы прочитать файл больше 1^32, я поставил ReadFile в петле, как этот
char buffer[1<<32];
while(!EOF){
ReadFIle(filename,buffer,1^32,bytesout,NULL);
SomeFunctionToExtractDataFromBuffer(buffer)
}
предполагал петля имеет тенденцию к перезаписи буфера каждой итерации для того, чтобы это дизайн для работы, ReadFile должен помнить, где предыдущее чтение произошло в файле, это правда? или есть другие способы достижения этого. Большое спасибо
Пожалуйста, измените название этого вопроса, чтобы он был полезным для будущих посетителей сайта. В противном случае он будет закрыт как слишком локализованный. –