📜  打印目录 cpp 中的所有文件名 - C++ (1)

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

打印目录 cpp 中的所有文件名 - C++

有时我们需要在C++代码中打印出指定目录下的所有文件名称,方便我们查看该目录下的文件。

下面是一个简单的例子,可以实现这个功能:

#include <iostream>
#include <string>
#include <filesystem>

namespace fs = std::filesystem;

void print_directory()
{
    std::string path = "cpp"; // 打印 cpp 目录下的所有文件名称
    for (const auto & entry : fs::directory_iterator(path))
    {
        std::cout << entry.path() << std::endl;
    }
}

int main()
{
    print_directory();
    return 0;
}

这个程序使用了C++17标准中的filesystem库,其中directory_iterator类可以循环读取一个目录中的所有文件,entry变量代表读取到的文件。

在这个例子中,我们打印了cpp目录下的所有文件名称。如果需要打印其他目录下的文件,只需要将path变量替换为其他目录的路径即可。

在打印文件名称时,我们使用了entry.path()方法,返回文件的路径。如果只需要打印文件名,可以使用entry.path().filename()。

上面的代码片段以markdown格式返回如下:

#include <iostream>
#include <string>
#include <filesystem>

namespace fs = std::filesystem;

void print_directory()
{
    std::string path = "cpp"; // 打印 cpp 目录下的所有文件名称
    for (const auto & entry : fs::directory_iterator(path))
    {
        std::cout << entry.path() << std::endl;
    }
}

int main()
{
    print_directory();
    return 0;
}

希望这个例子能够帮助到在C++中需要打印指定目录下所有文件名的程序员。