void dir(string path_src, string path_dst)
{
long hFile = 0;
struct _finddata_t fileInfo;
string pathName, exdName;
// \\* 代表要遍历所有的类型
if ((hFile = _findfirst(pathName.assign(path_src).append("\\*").c_str(), &fileInfo)) == -1) {
return;
}
do
{
//判断文件的属性是文件夹还是文件
cout << fileInfo.name << (fileInfo.attrib&_A_SUBDIR? "[folder]":"[file]") << endl;
string sfilename = fileInfo.name;
string sfiletype = (fileInfo.attrib&_A_SUBDIR? "[folder]":"[file]");
if((sfiletype == "[folder]") && (sfilename != "." && sfilename != ".."))
{
//对文件夹的操作
string dirpath_src = path_src + "\\" + sfilename;
string dirpath_dst = path_dst + "\\" + sfilename;
dir(dirpath_src, dirpath_dst);
}
if(sfiletype == "[file]")
{
//对文件的操作
}
} while (_findnext(hFile, &fileInfo) == 0);
_findclose(hFile);
return;
}