c++读取一个文件夹中的文件名称,并输出到一个txt文件中
时间: 2024-10-08 15:20:26 浏览: 106
Linux C++ 实现文件夹或文件拷贝(可直接编译运行)
在C++中,你可以使用`<filesystem>`库(从C++17开始引入的标准库)来读取文件夹中的文件名并将其写入另一个文本文件。下面是一个简单的示例:
```cpp
#include <iostream>
#include <filesystem>
// 获取目录下的所有文件名
void list_files_in_dir(std::string directory_path, std::ofstream& output_file) {
for (const auto& entry : std::filesystem::directory_iterator(directory_path)) {
if (entry.is_regular_file()) { // 只处理普通文件,忽略目录等其他类型
output_file << entry.path().filename() << "\n"; // 输出文件名
}
}
}
int main() {
try {
std::string input_dir = "path/to/input/directory";
std::string output_file_path = "output.txt";
// 创建输出文件
std::ofstream outputFile(output_file_path);
if (!outputFile) {
std::cerr << "Failed to open output file." << std::endl;
return 1;
}
// 读取目录中的文件名
list_files_in_dir(input_dir, outputFile);
outputFile.close();
std::cout << "Files listed successfully in the output file.\n";
} catch (const std::filesystem::filesystem_error& e) {
std::cerr << "Error reading directory: " << e.what() << '\n';
return 1;
}
return 0;
}
```
在这个示例中,我们首先打开一个输出的`std::ofstream`,然后遍历指定目录中的每个文件,如果它是文件而不是目录,就将其名称追加到输出文件中。最后别忘了关闭输出文件。
阅读全文