錯誤:
hFindFile = FindFirstFile( tCurrentDirecory , &findData );
hFindFile = INVALID_HANDLE_VALUE
GetLastError()得到的錯誤提示是2 ERROR_FILE_NOT_FOUND
無法找到要打開的文件。
warning C4133: “函數”: 從“char [66]”到“LPCWSTR”的類型不兼容
tCurrentDirecory 是char類型的;
分析:
vs2008默認設置爲Unicode寬字節
使用FindFirstFile調用的是FindFirstFileW函數,後面的參數使用char類型也就找不到文件;
解決方法:
修改爲FindFirstFileA
或者修改程序爲使用單字節;
備註:
在使用FindFirstFile循環讀取文件夾時,在循環內部不能調用FindClose關閉句柄,因爲FindNextFile需要用這個HANDLE。關閉要等所有都處理完成後在關閉句柄。