繁体   English   中英

用C ++打印结构

[英]printing structs in C++

我正在尝试从结构中打印3个属性。 他们为什么都不打印? 它们将一次打印2张,但不会同时打印三张。

name的末尾有回车符。 所以是印刷

2HP Potion\r10

\\r将光标移动到该行的开头,而不移动到下一行,因此10覆盖2H

我怀疑这是因为您从Windows上编写的文件中读取了名称,该文件在文本文件中使用\\r\\n作为其换行顺序。 您应该使用dos2unix修复文件,或者更改读取文件的代码以删除\\r字符。

您可以使用以下命令删除\\r

int last_pos = name.size()-1;
if (last_pos >= 0 && name[last_pos] == '\r') {
    name.pop_back();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM