C++:获取并列出用户写入的目录中的所有文件
C++: Get and list all the files from directory that user writes
我是新来的。我正在开发一个用于二进制打包文件的小程序,但我不知道如何创建一个函数来读取和列出用户写入的文件夹中具有不同名称和扩展名的所有文件。
string folder;
cout << "Input folder name: ";
getline (cin, folder);
所以在该命令之后,函数假设使用“文件夹”和当前目录位置作为该文件夹并读取并列出其中的所有文件。
感谢您的宝贵时间和帮助。
我会使用 std::filesystem::directory_iterator
遍历给定目录中的所有文件。
#include <iostream>
#include <filesystem>
int main()
{
const std::filesystem::path path{ "C:\temp" };
for (auto const& dir_entry : std::filesystem::directory_iterator{ path })
std::cout << dir_entry << '\n';
}
要仅获取文件名(不包含路径),请使用:
std::cout << dir_entry.path().filename() << '\n';
我是新来的。我正在开发一个用于二进制打包文件的小程序,但我不知道如何创建一个函数来读取和列出用户写入的文件夹中具有不同名称和扩展名的所有文件。
string folder;
cout << "Input folder name: ";
getline (cin, folder);
所以在该命令之后,函数假设使用“文件夹”和当前目录位置作为该文件夹并读取并列出其中的所有文件。
感谢您的宝贵时间和帮助。
我会使用 std::filesystem::directory_iterator
遍历给定目录中的所有文件。
#include <iostream>
#include <filesystem>
int main()
{
const std::filesystem::path path{ "C:\temp" };
for (auto const& dir_entry : std::filesystem::directory_iterator{ path })
std::cout << dir_entry << '\n';
}
要仅获取文件名(不包含路径),请使用:
std::cout << dir_entry.path().filename() << '\n';