您当前的位置: 首页 > 
  • 1浏览

    0关注

    322博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

命令行参数传入一个或者多个路径读取目录下的所有文件名并输出

森明帮大于黑虎帮 发布时间:2022-09-24 18:45:17 ,浏览量:1

read_file.h

#pragma once
#pragma once
#include   
#include  
//#include 
#include   
#include

//这个类表示获取所有的某个目录下的所有文件
class ReadFile {
public:
	ReadFile() {}
	void GetFiles(std::string path, std::vector& files);
	//void Test();
	void Test(std::string& directory);
};

read_file.cpp

#include"read_file.h"
void ReadFile::GetFiles(std::string path, std::vector& files) {
    //文件句柄  
    intptr_t h_file = 0;
    //文件信息,声明一个存储文件信息的结构体  
    struct _finddata_t file_info;
    std::string dir;  //字符串,存放路径
    if ((h_file = _findfirst(dir.assign(path).append("\\*").c_str(), &file_info)) != -1) {//若查找成功,则进入
        do {
            if ((file_info.attrib & _A_SUBDIR)) {
                if (0 != strcmp(file_info.name, ".") && 0 != strcmp(file_info.name, ".."))
                    GetFiles(dir.assign(path).append("\\").append(file_info.name), files);
            }
            else {
                files.push_back(dir.assign(path).append("\\").append(file_info.name));
            }
        } while (0 == _findnext(h_file, &file_info));
        _findclose(h_file);
    }
}

//void ReadFile::Test() {
void ReadFile::Test(std::string& directroy) {
    //std::string FilePath = "D:/visual stdio 2017代码";//自己设置目录
    std::vector file_name_list;
    //std::string filepath = directroy;
    //获取该路径下的所有文件  
    GetFiles(directroy, file_name_list);
    for (int i = 0; i             
关注
打赏
1664288938
查看更多评论
0.0369s