Pagini recente » Cod sursa (job #1674277) | Cod sursa (job #1411087) | Cod sursa (job #2040276) | Cod sursa (job #1583582) | Cod sursa (job #1349084)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* seek_char(char* p, const char ch)
{
do{
p++;
}while(*p != ch && *p != '\0');
return p;
}
int main()
{
FILE* f = fopen("convertor.in","rt");
FILE* g = fopen("convertor.out","wt");
//find file size
fseek(f, 0, SEEK_END);
long int size = ftell(f);
rewind(f);
//read JSON
char* string = malloc(sizeof(char) * size + 1);
fread(string, sizeof(char), size, f);
char* beg = string;
//parse
char* obj_end = seek_char(string, '}');
while(string < obj_end) {
string = seek_char(string, '\"');
string++;
while(*string != '\"') {
fprintf(g, "%c", *string);
string++;
}
fprintf(g, ",");
string = seek_char(string, ',');
}
string = beg;
while(string < beg + size) {
string = seek_char(string, '{');
if(*string == '\0') break;
obj_end = seek_char(string, '}');
fprintf(g, "\n");
while(string < obj_end) {
string = seek_char(string, ':');
string = seek_char(string, '\"');
string++;
printf("1\n");
while(*string != '\"') {
fprintf(g, "%c", *string);
string++;
}
fprintf(g, ",");
string = seek_char(string, ',');
}
string = obj_end;
}
}