我是一名新手,学习C++读写文件。我搜索了如何从文件中读取所有内容的方法,并得到答案我可以使用while循环。
string fileName = "data.txt";
string line ;
ifstream myFile ;
myFile.open(fileName);
while(getline(myFile,line)){
cout << line << endl;
}
data.txt有三行内容,输出如下:
Line 1
Line 2
Line 3
但是,如果我去掉
"endl"
,只在 while 循环花括号中使用 cout<<line;
,输出结果会变成: Line 1Line 2Line 3
根据我的理解,while循环被执行了3次,其背后的逻辑是什么?
endl
的作用。当你将其移除时,它停止执行的操作就是这个东西。 - n. m.line
不包括换行符?这是std::getline
的工作原理。 - Bob__std::endl
也不是一个好主意。只需要使用std::cout << '\n'
即可。 - phuclv