C ++ getline给出了一些奇怪的结果

时间:2013-06-10 14:22:26

标签: c++ cout getline

我正在尝试运行此代码:

string p = "Test.txt";

ifstream fid(p.c_str());

while(!fid.eof()) {
    getline(fid,p);
    cout << "|s|" << p << "|e|" << endl;
}

但结果就是这样,因为它是这样的:

 |e|line1
 |e|line2
 ...

而不是:

 |s|line1|e|
 |s|line1|e|
 ...

有人可以向我解释我做错了吗?

你的 麻姑_

1 个答案:

答案 0 :(得分:0)

谢谢你的答案。

我应该知道它,因为我在Win / Linux之间切换......

 p.erase(remove(p.begin(), p.end(), '\r'), p.end());

解决了问题。谢谢你的帮助。我仍然想知道我的程序在做什么。但我想这是不稳定的情况之一,你不应该在^^

上建立你的程序 再一次 麻姑_