- [ 开始一直不能遍历文件 ]
- [ 发现是变量定义的问题,特此记录下 ]
现象:
一直卡在 _findnext
原因:
开始把 handle 定义为了 long 类型,改为 intptr_t 类型就好了
实现
#include <io.h>
intptr_t handle;
handle = _findfirst(current_path.c_str(), &fileinfo);
if (handle == -1) {
printf("path %s is exist\n", filePath.c_str());
return false;
}
do {
if (fileinfo.attrib & _A_SUBDIR) {
string fname = string(fileinfo.name);
if (fname != ".." && fname != ".") {
continue;
}
}
else {
printf("file:%s size:%d \r\n", fileinfo.name, fileinfo.size);
}
} while (_findnext(handle, &fileinfo) == 0);
_findclose(handle);