VS遍历windows文件夹的代码

网友投稿 684 2022-09-19

VS遍历windows文件夹的代码

VS遍历windows文件夹的代码

有点麻烦: #include #include "windows.h" #include #include using namespace std; //传入要遍历的文件夹路径,并遍历相应文件夹 void processPath(const wchar_t Dir) { WIN32_FIND_DATA FindFileData; HANDLE hFind=INVALID_HANDLE_VALUE; wchar_t DirSpec[MAX_PATH]; StringCchCopy(DirSpec,MAX_PATH,Dir); StringCchCat(DirSpec,MAX_PATH,TEXT("\*")); hFind=FindFirstFile(DirSpec,&FindFileData); if (hFind==INVALID_HANDLE_VALUE) { FindClose(hFind); return; } while (FindNextFile(hFind,&FindFileData) != 0) { //文件,直接处理 if((FindFileData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) ==0) { //processFile() } //特殊目录,不处理。 if ( wcscmp(FindFileData.cFileName,L"." )==0 || wcscmp(FindFileData.cFileName,L"..")==0) { continue; } //目录,递归处理 wchar_t DirAdd[MAX_PATH]; StringCchCopy(DirAdd,MAX_PATH,Dir); StringCchCat(DirAdd,MAX_PATH,TEXT("\")); StringCchCat(DirAdd,MAX_PATH,FindFileData.cFileName); processPath(DirAdd); } FindClose(hFind); } int _tmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] ) { locale loc( "chs" ); //支持中文输出,否则wchar可能无法输出值为中文的变量 wcout.imbue( loc ); processPath(L"D:\Test"); //遍历指定的文件夹,此处文件路径可按具体情况修改 system("pause"); return 0; } 有的朋友问,如果要使用char怎么办? 这个也简单, FindFirstFileA(),在看看参数差异。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:docx模块报错(打开docx文件出错)
下一篇:WINDOWS也需要装WINDOWS虚拟机
相关文章

 发表评论

暂时没有评论,来抢沙发吧~