c-visualstudio在使用指针和strncat时触发了一个断点



我正在用以下代码实现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] = '';
...

最新更新