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)
你会这样做:
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)