取出当前txt的所有行数量,并一行一行的读取,用c++写
时间: 2024-12-23 09:15:39 浏览: 8
在C++中,你可以使用标准库中的fstream(文件流)来操作文本文件。首先,你需要打开文件,然后获取行数,最后逐行读取。以下是一个简单的示例:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
std::ifstream inputFile("your_file.txt"); // 替换为你的文件路径
// 获取文件行数
std::streamsize lineCount;
inputFile.seekg(0, std::ios::end); // 移动到文件结尾
lineCount = inputFile.tellg(); // 获取当前位置作为文件大小
lineCount -= sizeof(std::string); // 减去换行符的位置
inputFile.seekg(0, std::ios::beg); // 回到开头
int lines = static_cast<int>(lineCount / sizeof(std::string)); // 将字节计数转换为行数
// 逐行读取
std::vector<std::string> linesVector(lines);
for (int i = 0; i < lines; ++i) {
std::getline(inputFile, linesVector[i]);
}
// 打印行数和内容
std::cout << "文件有 " << lines << " 行。\n";
for (const auto& line : linesVector) {
std::cout << "Line " << i+1 << ": " << line << "\n"; // 假设i为当前行数
}
inputFile.close();
阅读全文