0

私はこのコードを実行しようとしています:

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|
 ...

誰かが私が間違っていることを説明してもらえますか?

あなたのmagu_

4

1 に答える 1

0

答えは Thx gx_ です。

Win/Linuxを切り替えるので、実際にそれを知っていたはずです...

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

問題を解決しました。助けてくれてありがとう。それでも、私のプログラムが何をしていたのか疑問に思っています。しかし、これはプログラムをビルドしてはいけない不安定なケースの 1 つだと思います^^

thx 再び magu_

于 2013-06-11T06:02:30.227 に答える