FindFirstFile 错误: ERROR_FILE_NOT_FOUND

错误:

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。关闭要等所有都处理完成后在关闭句柄。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值