色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json作配置文件

林雅南2年前7瀏覽0評論

c json 是一種用于處理json格式數據的C語言庫。

將json文件作為配置文件非常方便,這里我們以使用c json作為配置文件為例,展示如何讀取json作為配置文件。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cJSON.h>
int main()
{
// 打開文件
FILE* fp = fopen("config.json", "rb");
if (!fp) 
{
printf("打開配置文件失敗!\n");
return 1;
}
// 獲取文件大小
fseek(fp, 0L, SEEK_END);
int file_size = ftell(fp);
fseek(fp, 0L, SEEK_SET);
// 讀取文件內容
char* file_content = (char*)malloc(file_size + 1);
fread(file_content, file_size, 1, fp);
fclose(fp);
file_content[file_size] = '\0';
// 解析json
cJSON* json_root = cJSON_Parse(file_content);
if (!json_root)
{
printf("解析json失敗!\n");
cJSON_Delete(json_root);
free(file_content);
return 1;
}
// 獲取數據
cJSON* json_cfg = cJSON_GetObjectItem(json_root, "config");
cJSON* json_port = cJSON_GetObjectItem(json_cfg, "port");
cJSON* json_host = cJSON_GetObjectItem(json_cfg, "host");
// 輸出數據
printf("Port: %d\n", json_port->valueint);
printf("Host: %s\n", json_host->valuestring);
// 釋放內存
cJSON_Delete(json_root);
free(file_content);
return 0;
}

上述代碼中,我們首先打開json文件,然后讀取文件內容,并使用cJSON_Parse()函數將其轉換為cJSON對象。然后,我們通過cJSON_GetObjectItem()函數獲取json中的配置項,最后輸出數據。