答案是使用ifstream和getline函数逐行读取文件。包含fstream和string头文件,创建ifstream对象打开文件,通过while循环调用getline读取每行内容并输出,直至文件结束,最后关闭文件。

在C++中,逐行读取文本文件是一个常见需求,通常使用标准库中的fstream和getline()函数来实现。下面介绍一种简单、可靠的方法。
包含必要的头文件
要操作文件并逐行读取内容,需要引入以下两个头文件:
-
#include
:用于文件输入输出 -
#include
:因为getline()操作的是字符串
使用ifstream和getline逐行读取
核心思路是创建一个std::ifstream对象打开文件,然后用std::getline()函数一行一行读取内容,直到文件结束。
示例代码如下:
里面有2个文件夹。其中这个文件名是:finishing,是我项目还没有请求后台的数据的模拟写法。请求后台数据之后,瀑布流的js有一点点变化,放在文件名是:finished。变化在于需要穿参数到后台,和填充的内容都用后台的数据填充。看自己项目需求来。由于chrome模拟器是不允许读取本地文件json的,所以如果你要进行测试,在hbuilder打开项目就可以看到效果啦,或者是火狐浏览器。
立即学习“C++免费学习笔记(深入)”;
#include
#include
#include
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;
}
关键细节说明
std::getline(file, line)会读取一行,直到遇到换行符为止,且不会将换行符存入line中。
- 如果文件不存在或路径错误,is_open()返回false,应做错误处理
- 循环条件直接使用getline()的返回值,它在读到末尾或出错时返回false
- 不需要手动关闭文件也可以,因为析构函数会自动关闭,但显式调用更清晰










