欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 保存json到本地文件怎么打開

劉柏宏2年前9瀏覽0評論

在C程序中保存JSON數據到本地文件是一項很常見的任務,下面我們就來介紹一下該如何實現。

首先,我們需要使用CJSON庫來解析、創建、修改JSON數據。在保存JSON到本地文件之前,需要將JSON數據轉換成字符串形式。而在讀取本地JSON文件時,則需要將讀取到的字符串數據轉換為JSON格式。

//保存JSON到本地文件
cJSON *root = cJSON_CreateObject(); //創建一個JSON對象
cJSON_AddStringToObject(root, "name", "張三"); //添加一個字符串數據
cJSON_AddNumberToObject(root, "age", 20); //添加一個數字數據
char *json_str = cJSON_Print(root); //將JSON對象轉換為字符串
FILE *fp;
fp = fopen("test.json", "w"); //以w方式打開文件
fputs(json_str, fp); //寫入JSON字符串
fclose(fp); //關閉文件
cJSON_Delete(root); //釋放JSON對象和字符串空間
//從本地文件讀取JSON數據
char *json_str;
FILE *fp;
long file_size;
fp = fopen("test.json", "r"); //以r方式打開文件
if (!fp) {
printf("無法打開文件!\n");
exit(1);
}
fseek(fp, 0, SEEK_END);
file_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
json_str = (char*) malloc(file_size + 1);
fread(json_str, file_size, 1, fp); //讀取文件內容
fclose(fp); //關閉文件
cJSON *root = cJSON_Parse(json_str); //將JSON字符串轉換為JSON對象
free(json_str); //釋放堆空間
// 訪問JSON數據
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("%s的年齡是%d歲\n", name->valuestring, age->valueint);
cJSON_Delete(root); //釋放JSON對象和字符串空間

注意:在使用完CJSON庫的函數后,需要釋放相關的空間。在保存JSON到本地文件時,需要以"w"方式打開文件,以便進行寫入操作;在讀取本地JSON文件時,需要以"r"方式打開文件,以便進行讀取操作。