我正在使用以下代碼實作 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;
}
在 Visual Studio 中運行時,它會在觸發斷點時引發錯誤。我缺少什么。任何建議
uj5u.com熱心網友回復:
您只能strcat在C 字串的目標上使用函式系列。serializedMessage在您的代碼中還不是 C 字串,它是一塊未初始化的記憶體。字符陣列應該如何用作字串?
通過在開頭添加一個空終止符來解決這個問題,以形成一個空字串:
if (serializedMessage != NULL)
{
serializedMessage[0] = '\0';
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/383732.html
上一篇:發布和架構比較之間的區別
下一篇:如何使條件與IF陳述句正確?
