私はReadFile関数でエラー持ってasynchroneouslyC++でファイルをasynchroneusly読み込む方法は?
string read(string path) {
DWORD readenByte;
int t;
char* buffer = new char[512];
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, "read");
OVERLAPPED overlap;
overlap.hEvent = hEvent;
HANDLE hFile = CreateFile(path.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(!hFile) {
Debug::error(GetLastError(), "fileAsync.cpp::read - ");
}
t = ReadFile(hFile, buffer, MAX_READ - 1, &readenByte, &overlap);
if(!t) {
Debug::error(GetLastError(), "fileAsync.cpp::read - ");
}
t = WaitForSingleObject(hEvent, 5000);
if(t == WAIT_TIMEOUT) {
Debug::error("fail to read - timeout, fileAsync.cpp::read");
}
buffer[readenByte] = '\0';
string str = buffer;
return str;
}
ファイルを読むために必要な - 38:asynchroneusly WINAPIを使用してC++でファイルを読み取る方法ファイル
の終わりに達しましたか?
エラー検出のメッセージは、[MSDNの例](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365690.aspx)の最後にあります。 – theB