c++ getline返回一些奇怪的结果
C++ getline gives back some strange results
我想运行这段代码:
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_
谢谢你的回答。
实际上我应该知道的,因为我在Win/Linux之间切换…
p.erase(remove(p.begin(), p.end(), 'r'), p.end());
解决了问题。谢谢你的帮助。我仍然想知道我的程序在做什么。但我想这是不稳定的情况之一你不应该在^^
上构建程序谢谢了magu_
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- valgrind-hellgrind与泄漏检查的结果不同
- Seg Fault Issue C++ (file IO / getline)
- 用C++20 fmt限制结果的总大小
- 如何返回一个类的两个对象相加的结果
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 序列化,没有库的整数,得到奇怪的结果
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 在更改for循环的第三部分后,未使用for循环结果
- 当用户键入分隔符时,停止getline()输入
- 使用++运算符会导致意外的结果
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- getline() 的原型/库是什么;
- C++Brute Force攻击函数不会返回结果
- 错误 没有与参数列表匹配的重载函数"getline"实例
- CSV文件之间的差异,使用getline()产生不同的结果
- 读取文件和使用getline进行标准输入的结果不同
- c++ getline返回一些奇怪的结果