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

c json 配置

錢浩然2年前8瀏覽0評論

C語言中使用JSON配置文件

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常被用于API接口返回數據。它由鍵值對組成,可表示對象、數組等數據類型,具有易讀易寫、易于解析的特點。

C語言中使用JSON配置文件,可以將程序中的變量存儲于JSON數據結構中,從而實現程序參數的配置。以下是使用cJSON(一個C語言JSON解析器)編寫的JSON配置文件讀寫代碼:

#include <stdio.h>
#include <cJSON.h>
int main() {
cJSON *root, *config;
const char *filename = "config.json";
char *json_string;
// 讀取配置文件
FILE *fp = fopen(filename, "r");
if (fp == NULL) {
printf("Cannot open file %s\n", filename);
return 1;
}
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *json_buffer = (char *)malloc(file_size + 1);
fread(json_buffer, 1, file_size, fp);
fclose(fp);
json_buffer[file_size] = '\0';
// 解析JSON數據
root = cJSON_Parse(json_buffer);
if (root == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
free(json_buffer);
// 獲取配置內容
config = cJSON_GetObjectItem(root, "config");
if (config == NULL) {
printf("Cannot find key 'config'\n");
cJSON_Delete(root);
return 1;
}
// 輸出配置內容
json_string = cJSON_Print(config);
printf("Config: %s\n", json_string);
free(json_string);
cJSON_Delete(root);
return 0;
}

以上代碼首先讀取配置文件,解析JSON數據,然后通過cJSON_GetObjectItem()函數獲取指定的配置項,最后輸出到控制臺。

在配置文件中,每個鍵值對可以表示一個變量,如:

{
"config": {
"server": "127.0.0.1",
"port": 8080,
"debug": true
}
}

以上配置文件表示一個服務器的配置,包括服務器地址、端口和是否開啟調試模式三個變量。

使用JSON配置文件可以使程序參數配置更加清晰明了,且具有良好的可讀性。