最常用方法是使用std::getline配合std::ifstream逐行读取文件,需包含<fstream>和<string>头文件,创建ifstream对象打开文件,检查是否成功,再用while(getline(file, line))循环读取并处理每行内容。

在C++中逐行读取文件,最常用的方法是使用std::getline函数配合std::ifstream。这种方法简单、安全,适用于大多数文本文件处理场景。
包含必要的头文件
要操作文件,需要引入以下两个头文件:
- #include <fstream>:用于文件输入输出
- #include <string>:因为getline操作的是字符串
使用std::getline逐行读取
核心步骤如下:
- 创建一个std::ifstream对象打开文件
- 检查文件是否成功打开
- 使用std::getline(file, line)循环读取每一行
- 处理每行内容
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
std::string line;
if (!file.is_open()) {
std::cerr << "无法打开文件!" << std::endl;
return 1;
}
while (std::getline(file, line)) {
std::cout << line << std::endl; // 输出每一行
}
file.close();
return 0;
}
注意事项与技巧
实际使用时需注意以下几点:
- 每次调用getline会读取一行(不包括换行符),并存储到指定字符串中
- 循环条件std::getline(...)本身返回文件流对象,当到达文件末尾或出错时转为false
- 建议始终检查文件是否成功打开,避免运行时错误
- 不需要手动关闭文件也可以,析构函数会自动处理,但显式调用close()更清晰











