2

次のコードでファイルの終わりを検査するにはどうすればよいですか。wchar_t シンボルを 1 つずつ読み取ることができる関数を作成しようとしましたが、以前に定義されたシンボルが読み取られましたが、EOF が読み取られた場合は関数を停止する必要があります。

wchar_t wchr[1];    
BOOL b = TRUE;

do
{
    b = ReadFile(hReadFile, wchr, sizeof(wchar_t), &dw, NULL);
    if(!b)break;         //it doesn't work
    tempGetLine[size] = wchr[0];
    size++;
}while(wchr[0] != endSymbol);
4

1 に答える 1

1

ファイルの最後にあるかどうかを確認ReadFileする方法は、ファイルが読み取ったバイト数と要求したバイト数を確認することです。あれは:

if(!b)break;

読む必要があります:

if(dw != sizeof(wchar_t)) break;
于 2012-10-25T10:24:04.807 に答える