求遍历文件目录的代码 C++

踏实每一步 2010-09-03 03:59:53
如题,不是MFC的CFileFind
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
老邓 2010-09-03
  • 打赏
  • 举报
回复
#include <iostream>
#include <string>
#include <io.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

void search_dir(string prefix)
{
string root = prefix + "*";
_finddata_t data;

long handle = _findfirst(root.c_str(), &data);
if (handle == -1)
{
cerr << "error" << endl;
exit(1);
}

if (data.attrib == _A_SUBDIR && strcmp(data.name, ".") && strcmp(data.name, ".."))
{
cout << data.name << endl;
search_dir(prefix + data.name + "\\");
}
else
cout << data.name << endl;

while (_findnext(handle, &data) != -1)
{
if (data.attrib == _A_SUBDIR && strcmp(data.name, ".") && strcmp(data.name, ".."))
{
cout << data.name << endl;
search_dir(prefix + data.name + "\\");
}
else
cout << data.name << endl;
}

_findclose(handle);
}


int main()
{
const string root = "C:\\Windows\\";
search_dir(root);

return 0;
}
herman~~ 2010-09-03
  • 打赏
  • 举报
回复
google上有许多
justkk 2010-09-03
  • 打赏
  • 举报
回复
unix系统有opendir()、readdir()..
不知道windows也没有
踏实每一步 2010-09-03
  • 打赏
  • 举报
回复
纯c的没有吗?
  • 打赏
  • 举报
回复
FindFirstFile

findnextfile

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧