FindFirstFile 错误: ERROR_FILE_NOT_FOUND
来源:互联网 发布:mhp2g数据库 编辑:程序博客网 时间:2024/05/16 10:23
错误:
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。关闭要等所有都处理完成后在关闭句柄。
阅读全文