c++怎么獲取文件夾下的所有文件名

c++
小億
140
2023-09-19 15:36:37

你可以使用C++的文件流和目錄流來(lái)獲取文件夾下的所有文件名。下面是一個(gè)示例代碼:

#include <iostream>
#include <fstream>
#include <dirent.h>
#include <vector>
std::vector<std::string> getFilesInFolder(const std::string& folderPath) {
std::vector<std::string> fileNames;
DIR* dir;
struct dirent* entry;
if ((dir = opendir(folderPath.c_str())) != nullptr) {
while ((entry = readdir(dir)) != nullptr) {
if (entry->d_type == DT_REG) {
fileNames.push_back(entry->d_name);
}
}
closedir(dir);
}
return fileNames;
}
int main() {
std::string folderPath = "path/to/folder";
std::vector<std::string> files = getFilesInFolder(folderPath);
for (const std::string& file : files) {
std::cout << file << std::endl;
}
return 0;
}

在上面的代碼中,getFilesInFolder函數(shù)使用opendirreaddir來(lái)遍歷指定文件夾下的所有文件名,并將文件名存儲(chǔ)在一個(gè)字符串向量中。然后,在main函數(shù)中調(diào)用getFilesInFolder函數(shù)來(lái)獲取文件夾下的所有文件名,并使用循環(huán)打印每個(gè)文件名。

請(qǐng)確保在代碼中替換folderPath為你要獲取文件名的文件夾的實(shí)際路徑。

0