gpt4 book ai didi

c++ - char concat to string 返回错误的长度

转载 作者:行者123 更新时间:2023-11-27 22:58:26 26 4
gpt4 key购买 nike

将 char 字节添加到字符串的简单 C++ 程序。结果长度在输出中是错误的。

#include <iostream>
#include <string>

int main(){

char x = 0x01;

std::string test;
test = x+"test";

std::cout << "length: " << test.length() << std::endl;
std::cout << "test: " << test << std::endl;
return 0;
}

输出:

length: 3
test: est

我在字符串前添加了一个类型字节,因为我将通过套接字发送此数据,而另一端有一个工厂需要知道要创建的对象的类型。

最佳答案

1 + "test" = "est"  // 1 offset from test

所以你得到了正确的答案。

+---+---+---+---+---+
| t | e | s | t | \0|
+---+---+---+---+---+
+0 +1 +2 +3 +4

你想要的可能是:

std::string test;
test += x;
test += "test";

关于c++ - char concat to string 返回错误的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30193467/

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