Pagini recente » Cod sursa (job #1680728) | Cod sursa (job #1346556)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
int obj=1, rand=1, i=0, n=0, j=0,nrind=0; // obj numara obiectele,i numara liniile din obiect , n face diferenta intre index si caracteristicile obiectului , j si k sunt valori pentru vectorii char
char c, elem[10][10][60],ind[10][60];
FILE *f, *g;
f = fopen("convertor.in","rt");
if(f == NULL)
perror("EROARE LA DESCHIDEREA FISIERULUI JSON!!!");
g = fopen("convertor.out","wt");
if(g == NULL)
perror("EROARE LA CREAREA FISIERULUI CSV!!!");
while( !feof(f) )
{
fscanf(f,"%c",&c);
printf("%c",c);
if(c == '}')
obj++;
if( c == '{')
rand=1;
if(c == ':' && obj ==1)
nrind++;// numarul de randuri dintr-un obiect
if(c == ',')
{
n=0;
i=0;
j=0;
rand++;
}
//INDEXII
if(c == '"')
n++;
if(n == 1 && obj == 1 && c != '"')
{
ind[rand][i]=c;
i++;
}
//CARACTERISTICILE OBIECTELOR
if(n==2 && (c == ' ' || c ==':'))
continue;
if(c != '"' && c !=',' && c!='}' && n>=2 )
{
elem[obj][rand][j]=c;
j++;
}
}
//scriem in fisierul CSV indexii
for(i=1;i<=rand;i++)
fprintf(g,"%s,",ind[i]);
fprintf(g,"\n");
//Scriem elementele in fisierul CSV
for(i=1;i<=obj;i++)
{
for(j=1;j<=rand;j++)
fprintf(g,"%s,",elem[i][j]);
fprintf(g,"\n");
}
fclose(f);
fclose(g);
return 0;
}