c++读取指定目录下的所有目录名称+文件名称
#include<string> #include<iostream> #include<vector> #include<direct.h> #include<string.h> using namespace std; //所有文件名 void getJustCurrentFile(string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo;//文件信息读取结构 string p; if((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1) { do{ if((fileinfo.attrib & _A_SUBDIR)){//文件类型是不是目录 ; }else{ files.push_back(fileinfo.name); } }while(_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } } //所有目录 void getJustCurrentDir(string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo;//文件信息读取结构 string p; // assign() string的赋值函数 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) { files.push_back(fileinfo.name); } } }while(_findnext(hFile, &fileinfo) == 0); //寻找下一个,成功0,否则-1 _findclose(hFile); } } int main(){ string path; cin >> path; vector<string> files; // getJustCurrentFile(path,files); getJustCurrentDir(path,files); for(int i = 0; i < files.size();i++){ cout << files[i] << endl; } return 0; }
详细请见:
https://www.cnblogs.com/tgyf/p/3839894.html