📅  最后修改于: 2023-12-03 15:25:46.385000             🧑  作者: Mango
有时我们需要在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++中需要打印指定目录下所有文件名的程序员。