C++ 按照时间顺序读取文件夹下所有文件里的内容,按行读取
时间: 2023-07-18 19:20:52 浏览: 281
您好!针对您的问题,可以使用 C++ 中的 std::ifstream 类来读取文件内容,并使用 std::getline() 函数按行读取文件。以下是一个示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
std::string folder_path = "your/folder/path";
std::vector<std::string> file_names;
for (const auto& entry : fs::directory_iterator(folder_path)) {
if (entry.is_regular_file()) {
file_names.push_back(entry.path().string());
}
}
std::sort(file_names.begin(), file_names.end()); // 按时间顺序排序
for (const auto& file_name : file_names) {
std::ifstream file(file_name);
std::string line;
while (std::getline(file, line)) {
std::cout << line << '\n'; // 输出文件内容
}
file.close();
}
return 0;
}
```
该代码首先使用 std::filesystem 库遍历文件夹下的所有文件,将文件名存储在一个 vector 中,并使用 std::sort() 函数按时间顺序排序。然后,对于每个文件,使用 std::ifstream 类打开文件,并使用 std::getline() 函数按行读取文件内容。最后,将每行内容输出到控制台。
希望能对您有所帮助!
阅读全文