我正在用以下代码实现JSON打包器
int main()
{
char* serializedMessage;
serializedMessage = (char*)malloc(sizeof(char)* 1024);
if (serializedMessage != NULL)
{
strcat(serializedMessage, "{"");
strncat(serializedMessage, "":", 3);
strncat(serializedMessage, "{", 1);
strncat(serializedMessage, ""ds":[", 8);
strncat(serializedMessage, "}", 1);
std::cout <<serializedMessage <<std::endl;
}
return 0;
}
当在visualstudio中运行时,它会在触发断点时抛出错误。我所缺少的。任何建议
只能在C字符串的目标上使用strcat
函数族。代码中的serializedMessage
还不是一个C字符串,它是一块未初始化的内存。字符数组应该如何用作字符串?
通过在开头添加一个空终止符来解决这个问题,形成一个空字符串:
if (serializedMessage != NULL)
{
serializedMessage[0] = ' ';
...