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

c 讀json有亂碼

林國瑞1年前8瀏覽0評論

最近在使用c語言讀取json數(shù)據(jù)時(shí)遇到了一個(gè)問題,就是讀取的結(jié)果出現(xiàn)了亂碼。我認(rèn)真查看了一下代碼,于是發(fā)現(xiàn)了問題的所在。

#include <stdio.h>
#include <stdlib.h>
#include <cjson/cJSON.h>
int main(void)
{
FILE *fp;
char *data;
long len;
fp = fopen("test.json", "r");
fseek(fp, 0, SEEK_END);
len = ftell(fp);
fseek(fp, 0, SEEK_SET);
data = (char*)malloc(len * sizeof(char));
fread(data, 1, len, fp);
cJSON *root = cJSON_Parse(data);
printf("%s\n", cJSON_Print(root));
cJSON_Delete(root);
free(data);
return 0;
}

原因是在讀取json文件時(shí)沒有按照正確的編碼方式讀取,導(dǎo)致了亂碼。正確的方式應(yīng)該是在fopen處添加編碼方式。

fp = fopen("test.json", "r, ccs=UTF-8");

這樣,我們就可以完美地讀取json數(shù)據(jù)啦!