在 C++ 中连接 char[] 和 uint32_t

1 c++ arrays concatenation uint32

我想将 char[] 与 uint32_t 连接起来以获得另一个 char[] 结果:

char word[] = "hi";
uint32_t = 33;

char result[] = "hi33"; //How can I get this ???
Run Code Online (Sandbox Code Playgroud)

目标是组装一些数据,这些数据可以通过以下签名传递给此处WriteData描述的方法......

bool WriteData(char *buffer, unsigned int nbChar);
Run Code Online (Sandbox Code Playgroud)

use*_*751 5

你会这样做:

std::string word = "hi";
uint32_t num = 33;
std::string result = word + std::to_string(num);
Run Code Online (Sandbox Code Playgroud)

(没有std::如果你有using namespace std

理想情况下你不会使用,char[]因为没有理由这样做。

如有必要,string可以从 a 构造char[]

char word[] = "hi";
std::string result {word};
Run Code Online (Sandbox Code Playgroud)

删除const限定符可能很危险,但是如果已知这样的方法WriteData是安全的(即不修改其参数的内容),那么可以像这样调用它

WriteData(const_cast<char *>(result.c_str()), result.length());
Run Code Online (Sandbox Code Playgroud)