最常用方法是结合std::ifstream和std::getline函数。需包含、头文件,打开文件后检查是否成功,再逐行读取内容。
在C++中,一行一行读取文件最常用的方法是结合std::ifstream和std::getline函数。这种方式简单、高效,适合处理文本文件。
要操作文件和字符串,需要引入以下头文件:

使用std::ifstream打开文件后,应始终检查是否成功打开,避免后续操作出错。
示例代码:
std::ifstream file("example.txt");
if (!file.is_open()) {
std::cerr << "无法打开文件!" << std::endl;
return -1;
}
利用std::getline从文件流中逐行读取字符串,直到文件结束。
核心代码结构:
std::string line;
while (std::getline(file, line)) {
// 处理每一行内容
std::cout << line << std::endl;
}
说明:std::getline(file, line)会读取一行(不含换行符),并返回file对象。当到达文件末尾或读取失败时,表达式为假,循环结束。
下面是一个完整的例子,演示如何逐行读取并打印文件内容:
#include#include #include int main() { std::ifstream file("data.txt"); if (!file) { std::cerr << "打开文件失败!" << std::endl; return 1; } std::string line; while (std::getline(file, line)) { std::cout << line << std::endl; } file.close(); // 可选:析构时会自动关闭 return 0; }
基本上就这些。只要掌握std::getline配合ifstream的用法,就能轻松实现逐行读取。注意判断文件是否打开成功,避免运行时错误。