gpt4 book ai didi

c++ - 整数打印作为 Alt 代码

转载 作者:行者123 更新时间:2023-11-28 07:00:55 25 4
gpt4 key购买 nike

我正在实现 C++ 链表并遇到了一些非常有趣的行为。

string LinkedList::toString() {
string output = "";
Node *cur = first;
for (int i = 0; i < size; i++) {
output += "node ";
output += i;
output += ": ";
output += cur->toString();
output += "\n";
cur = cur->getNext();
}
return output;
}

上面的代码都运行正确,除了一个小异常......

enter image description here

我的 for 循环中的 i 被打印为 alt-code !为什么??

最佳答案

您已将数字(即 i)放入字符串中,但没有先将其转换为字符。结果是该字符串包含具有该数字代码的字符。考虑到最常见字符集的布局方式,代码小于 32 的字符通常将成为控制代码。

您可能希望在将数字添加到现有字符串之前使用 std::to_string 将数字转换为字符串。或者,将数据格式化为 stringstream,然后返回其内容,按照以下一般顺序返回:

string LinkedList::toString() {
std::ostringstream buffer;
Node *cur = first;
for (int i = 0; i < size; i++) {
buffer << "node " << i << ": " << cur->toString() << "\n";
cur = cur->getNext();
}
return buffer.str();
}

关于c++ - 整数打印作为 Alt 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22497319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com