#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