注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
lcofjp的个人空间 https://home.eeworld.com.cn/space-uid-367757.html [收藏] [复制] [分享] [RSS]
日志

用C++遍历windows目录中的文件

已有 939 次阅读2016-1-7 18:35 |个人分类:c/c++| windows

#include <io.h>
#include <string>
#include <list>
#include <cstring>
using namespace std;
void dfsFolder(string folderPath, list<string> &lst)
{
_finddata_t FileInfo;
string strfind = folderPath + "\\*";
long Handle = _findfirst(strfind.c_str(), &FileInfo);

if (Handle == -1L)
{
cerr << "can not match the folder path" << endl;
exit(-1);
}
do {
//判断是否有子目录
if (FileInfo.attrib & _A_SUBDIR)
{
//这个语句很重要
if ((strcmp(FileInfo.name, ".") != 0) && (strcmp(FileInfo.name, "..") != 0))
{
string newPath = folderPath + "\\" + FileInfo.name;
dfsFolder(newPath, lst);
}
}
else
{
lst.push_back(folderPath + "\\" + FileInfo.name);
}
} while (_findnext(Handle, &FileInfo) == 0);

_findclose(Handle);
}
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章