标准c/c++获得某文件夹下所有文件名(包括子文件夹中的)
2017-01-09 18:04
316 查看
#include <iostream> #include <io.h> #include <string> #include <vector> void getFiles(const std::string & path, std::vector<std::string> & files) { //文件句柄 long hFile = 0; //文件信息,_finddata_t需要io.h头文件 struct _finddata_t fileinfo; std::string p; if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) != -1) { do { //如果是目录,迭代之 //如果不是,加入列表 if((fileinfo.attrib & _A_SUBDIR)) { if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0) getFiles(p.assign(path).append("\\").append(fileinfo.name), files); } else { files.push_back(p.assign(path).append("\\").append(fileinfo.name)); } } while (_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } } int main() { std::vector<std::string> filenames; std::string path; std::getline(std::cin, path); getFiles(path, filenames); for (auto file : filenames) { std::cout << file << std::endl; } system("pause"); return 0; }
相关文章推荐
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名(转)
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名(转载)
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- bat获取文件夹下的所有文件名(包括子文件夹下的)
- java读取文件夹下所有文件(包括子文件夹)的文件名
- cmd批处理命名:生成本文件夹包括子文件夹下的所有文件名列表
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- C# 遍历文件夹下所有子文件夹中的文件,得到文件名
- c#遍历一个文件夹下的所有文件包括子文件夹
- c#遍历一个文件夹下的所有文件包括子文件夹
- c#遍历一个文件夹下的所有文件包括子文件夹
- python如何获取一个文件夹内包括子文件夹所有文件的名字和路径
- 提取文件夹下的所有文件名及子文件夹下的文件名(含路径)
- c#遍历一个文件夹下的所有文件包括子文件夹
- object-c 获得目录(包括子目录)下所有文件和文件夹路径
- 批处理获得某个文件夹下的所有文件的文件名