请选择 进入手机版 | 继续访问电脑版

赵耀的知识库

 找回密码
 立即注册
搜索
热搜: 报盘 状态 失败
查看: 7542|回复: 0

遍历目录-win

[复制链接]

421

主题

428

帖子

2622

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2622
发表于 2021-7-7 10:32:24 | 显示全部楼层 |阅读模式
void listFiles(const char* path, std::vector<std::string>& vec)
{
        //文件句柄  
        intptr_t   hFile = 0; //如果是long类型,则可能会导致_findnext函数异常。常见于编译64位程序时,程序coredump。32位没问题。
        //文件信息  
        struct  _finddata_t fileinfo;
        std::string p = std::string(path) + "*";
        if ((hFile = _findfirst(p.c_str(), &fileinfo)) != -1)
        {
                do
                {
                        //如果是目录,迭代之  
                        //如果不是,加入列表  
                        if ((fileinfo.attrib & _A_SUBDIR))
                        {
                                continue;
                        }
                        else
                        {
                                if (std::string(fileinfo.name).find(".con") != std::string::npos)
                                {
                                        vec.push_back(fileinfo.name);
                                        printf("file=%s\n", fileinfo.name);
                                }
                        }
                } while (_findnext(hFile, &fileinfo) == 0);
                _findclose(hFile);
        }
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则