seanmj
2015-07-20 13:44
采纳率: 50%
浏览 7.2k

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第一行始终显示不出来。求解

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • lpfly 2015-07-20 14:47
    已采纳

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

    已采纳该答案
    6 打赏 评论
  • threenewbee 2015-07-20 14:17

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

    打赏 评论
  • 另一花生 2015-07-20 15:14

    去掉 fin >> str;

    打赏 评论
  • JonsonJiao 2015-07-21 02:30

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

    打赏 评论

相关推荐 更多相似问题