2 seanmj seanmj 于 2015.07.20 21:44 提问

c++逐行读取txt文件getline漏掉第一行

#include
#include
#include
using namespace std;
int main()
{
ifstream fin;
fin.open("word.txt");
string str;
while (!fin.eof())

{
getline(fin, str);
fin >> str;
cout << str<< endl;
}
fin.close();
}

word.txt第一行始终显示不出来。求解

5个回答

lpfly
lpfly   2015.07.20 22:47
已采纳

getline()已经把行从文件里读到str里了,你下一行加的 fin >> str是错误的。
去掉 fin >> str; 这一行就好了。

seanmj
seanmj 多谢,刚好发现了这个问题。
2 年多之前 回复
CSDNXIAON
CSDNXIAON   2015.07.20 21:47

java逐行读取txt.文件
MFC逐行读取txt文件中的数据
c++使用getline和ifstream读取文件
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

caozhy
caozhy   Ds   Rxr 2015.07.20 22:17

如果你行数很多,并且在控制台输出,那么可能前面的内容会超过缓冲区被丢弃。
你换一个短一点的文件

wangyushun0997
wangyushun0997 如果必须读取这个文件呢 getline还行吗
接近 2 年之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.20 23:14

去掉 fin >> str;

tongyi55555
tongyi55555   2015.07.21 10:30

getline方法定义没有看吧,已经读取进去了。

Csdn user default icon
上传中...
上传图片
插入图片