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

c 讀取json txt文件

謝彥文2年前8瀏覽0評論

在C語言中讀取JSON文件可以使用很多第三方庫,比如cJSON、Jansson等等。這篇文章我們將使用cJSON開源庫讀取JSON文件。

// 引入頭文件
#include#include#include "cJSON.h"
// 讀取JSON文件
int main() {
// 打開JSON文件
FILE *fp = fopen("example.json", "rb");
if (!fp) {
// 如果文件打開失敗,則退出程序
printf("Failed to open file: example.json");
exit(EXIT_FAILURE);
}
// 獲取文件長度并分配內(nèi)存
fseek(fp, 0, SEEK_END);
long length = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *buffer = (char*)malloc(length + 1);
if (!buffer) {
fclose(fp);
printf("Memory allocation error!");
exit(EXIT_FAILURE);
}
// 讀取文件內(nèi)容到緩存中
fread(buffer, 1, length, fp);
fclose(fp);
buffer[length] = '\0';
// 解析JSON文件
cJSON *json = cJSON_Parse(buffer);
if (!json) {
printf("JSON parse error!");
exit(EXIT_FAILURE);
}
// 獲取JSON對象中的值
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
char *company = cJSON_GetObjectItem(cJSON_GetObjectItem(json, "work"), "company")->valuestring;
// 打印獲取的值
printf("name: %s, age: %d, company: %s", name, age, company);
// 釋放內(nèi)存
cJSON_Delete(json);
free(buffer);
return 0;
}

以上代碼中我們首先打開JSON文件并讀取其內(nèi)容到內(nèi)存中,然后再使用cJSON_Parse()函數(shù)將JSON文本轉(zhuǎn)換成cJSON對象,接著我們就可以使用cJSON_GetObjectItem()函數(shù)獲取JSON對象中的值了。