调用strcat时发生异常
我是C新手,需要将JSON写入文件。 我真的花了一个小时寻找一种工作方式,将int添加到str 这是我的密码:调用strcat时发生异常,c,strcat,C,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":
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
只对字符串有效。您应该调查sprintf
和snprintf
。例如:
{
char string[80];
int dayNumber;
dayNumber = 27;
sprintf(string, "\"Block1\": {\n\t\"Day\": %d,\n", dayNumber);
...
显然,我并不是要创建整个字符串。此外,这决不能被视为完整的代码。使用幻数(如80个字符的字符串缓冲区)是不好的做法。这只是一个例子。这段代码甚至不应该编译。解析JSON需要如何在字符串中添加
int
?strcat()第二个参数不是字符串,哦,所以“parse”实际上是指生成JSON?请特别参阅。