|
void listFiles(const char* path, std::vector<std::string>& vec)
{
//文件句柄
intptr_t hFile = 0; //如果是long类型,则可能会导致_findnext函数异常。常见于编译64位程序时,程序coredump。32位没问题。
//文件信息
struct _finddata_t fileinfo;
std::string p = std::string(path) + "*";
if ((hFile = _findfirst(p.c_str(), &fileinfo)) != -1)
{
do
{
//如果是目录,迭代之
//如果不是,加入列表
if ((fileinfo.attrib & _A_SUBDIR))
{
continue;
}
else
{
if (std::string(fileinfo.name).find(".con") != std::string::npos)
{
vec.push_back(fileinfo.name);
printf("file=%s\n", fileinfo.name);
}
}
} while (_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}
|
|