/*_finddata_t使用起来虽然方便,但是程序中只能存在一个_finddata_t,所以只能先获取子文件夹名称之后,保存起来,再依次遍历子文件夹*/
string datapath = "D:\\software\\L1_Data_MD\\";
string savepath = "D:\\software\\MD_Data\\";
string searchpath = datapath;
searchpath.append("*");
vector<string> vec;
_finddata_t fileDir;
long lfDir;
if ((lfDir = _findfirst(searchpath.c_str(), &fileDir)) == -1l)//获取子文件夹路径名称
printf("No file is found\n");
else {
printf("file list:\n");
do {
if (fileDir.name[0] == '.')
continue;
string sonpath = datapath;
sonpath.append(fileDir.name);
sonpath.append("\\");
vec.push_back(sonpath);
} while (_findnext(lfDir, &fileDir) == 0);
}
_findclose(lfDir);
for (int sonpathi = 0; sonpathi < vec.size(); sonpathi++)//子文件夹遍历
{
cerr << vec[sonpathi] << endl;
string findcsv = vec[sonpathi];
findcsv.append("*.csv");
if ((lfDir = _findfirst(findcsv.c_str(), &fileDir)) == -1l)
printf("No file is found\n");
else {
printf("file list:\n");
do {
string csvname = vec[sonpathi];
csvname.append(fileDir.name);
//cerr << csvname << endl;
} while (_findnext(lfDir, &fileDir) == 0);
}
_findclose(lfDir);
}
既方便又坑比的_finddata_t
猜你喜欢
转载自blog.csdn.net/yizhangbiao/article/details/81115446
今日推荐
周排行