返回

为什么在C中打印字符在字符串的末尾显示-1?

发布时间:2022-07-13 15:36:08 357
# json

我正在解析一个JSON文件:

{"count": 2, "values": ["High", "Low", "Medium"]}
#include 
#include 
#include 

void parse(char* json, int length);
char* read_file(char* filename);

void main() {
    char* json = read_file("info.json");
    parse(json, strlen(json));
}

void parse(char* json, int length) {
    for (int i = 0; i < length; i++) {
        printf("%d\n", (int)json[i]);
    }
}

char* read_file(char* filename) {
    FILE* file = fopen(filename, "r");
    char* buffer = (char*)malloc(1);
    char ch;
    int i = 0;
    while ((ch = fgetc(file)) != EOF) {
        buffer = (char*)realloc(buffer, sizeof(char) * (i + 1));
        buffer[i] = ch;
        i++;
    }
    fclose(file);
    return buffer;
}

'}'

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像