调用 strcat 时出现异常

Exception when calling strcat

我是 C 的新手,我需要将 JSON 写入文件。 我真的花了一个小时寻找一种将 int 附加到 str 的工作方法。

这是我的代码:

int day = 1;

char strDay = (char) day;
char str[100];
strcpy(str, "Blockchain");
strcat(str, strDay);

在 strcat 调用之前一切正常。 提前致谢

编辑:我正在使用 parson 将我的结构写入文件。 JSON 文件应该如下所示:

{
"Blockchain": {
    "Block1": {
        "Day": 2,
        "Transaction1": {
            "ID": 1,
            "Amount": 2
        }
    },
    "Block2": {
        "Transaction2": {
            "ID": 2,
            "Amount": 5
        }
    }
}}

为此,我使用了 parson 库,它的工作方式如下:

json_object_dotset_number(root_object, "Blockchain.Block1.Transaction1.ID", tmpTransaction->accountID);

我需要一种方法来创建多个区块和交易,这就是为什么我想到将日期附加到区块并将 ID 附加到交易。

您可能已经意识到,strcat 仅适用于字符串。您应该调查 sprintfsnprintf。例如:

{
  char string[80];
  int dayNumber;

  dayNumber = 27;
  sprintf(string, "\"Block1\": {\n\t\"Day\": %d,\n", dayNumber);
...

显然,我并不是要创建您的整个字符串。此外,这绝不应被视为完整代码。使用幻数(如 80 个字符的字符串缓冲区)是不好的做法。这只是一个例子。