[英]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.