2012-10-25 34 views
2

如何在下一個代碼中檢查文件的結尾。我嘗試編寫可以逐個讀取wchar_t符號的函數,而某些定義較早的符號被讀取,但是如果EOF被讀取,函數必須停止。通過ReadFile()函數讀取文件期間檢查文件的結尾

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); 
+2

'dw'將在EOF爲零。這些都在文檔中。 – avakar

+0

@avakar O,謝謝 – abilash

回答

1

檢查ReadFile是在文件末尾的方法是檢查它有多少字節讀取VS你有多少要求。那就是:

if(!b)break; 

應改爲:

if(dw != sizeof(wchar_t)) break;