📜  获取目录c++中的文件列表(1)

📅  最后修改于: 2023-12-03 15:11:53.061000             🧑  作者: Mango

获取目录c++中的文件列表

在C++中,要获取一个目录中的文件列表,可以使用以下步骤:

步骤1: 包含必要的头文件
#include <iostream>
#include <filesystem>
#include <string>

<iostream>包含了输入输出流的头文件,<filesystem>包含了用于处理文件和目录的函数和类,<string>包含了用于处理字符串的函数和类。

步骤2: 定义文件夹路径
std::string folder_path = "path/to/folder/";

定义一个std::string类型的变量,存储目标文件夹的路径。在此示例中,路径是path/to/folder/,请将其替换为您实际使用的路径。

步骤3: 使用directory_iterator()函数
for (const auto& file_path : std::filesystem::directory_iterator(folder_path))
{
    auto file_name = file_path.path().filename().string();
    std::cout << file_name << std::endl;
}

使用directory_iterator()函数迭代目标文件夹内的每个文件的文件名,并打印在控制台上。如果您希望将文件名存储在std::vector容器中或使用其他方式操作,则可以相应更改此部分代码。

完整代码示例
#include <iostream>
#include <filesystem>
#include <string>

int main()
{
    std::string folder_path = "path/to/folder/";

    for (const auto& file_path : std::filesystem::directory_iterator(folder_path))
    {
        auto file_name = file_path.path().filename().string();
        std::cout << file_name << std::endl;
    }

    return 0;
}

注意,<filesystem>头文件需要在C++17标准或更高版本中才能使用。如果您的编译器不支持此标准,请使用其他库或手动实现文件和目录处理函数。