相关疑难解决方法(0)

std::getline() 将回车符 \r 读取到字符串中,如何避免这种情况?

我需要从 at\xd0\xb5xt 文件中读取一个(engl.: Star)对象的所有属性,如下所示Stern。我需要将字符串替换"leer""",但也可能存在不应替换为 的有效字符串""

\n\n

即对于另一个Stern对象也可以有"leer"代替"Sol"

\n\n

问题:
\n问题是它没有将 替换"leer""". 看起来它保存"leer\\\\r"在对象中而不是仅保存在对象"leer"中,但我也尝试替换"leer\\\\r",但它仍然不起作用。

\n\n

这是Stern应该阅读的文本文件中的一个:

\n\n
0\nSol\n0.000005\n0.000000\n0.000000\nleer\n1\n0\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的operator >>阅读内容:

\n\n
istream& operator>>(istream& is, Stern& obj)\n{\n    string dummy;\n    is >> obj.m_ID;\n    getline(is, dummy);\n    getline(is, obj.m_Bez);\n\n    if (obj.m_Bez == "leer")\n        obj.m_Bez = "";\n\n    is >> obj.m_xKoord >> obj.m_yKoord >> obj.m_zKoord;\n    getline(is,dummy);\n    getline(is,obj.m_Sternbild);\n\n    if (obj.m_Sternbild …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

operator-overloading ×1