Pagini recente » Cod sursa (job #2552979) | Cod sursa (job #2848619) | Cod sursa (job #2029831) | Cod sursa (job #1814968) | Cod sursa (job #1359413)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *c;
int ok1=0,ok2=0,cap=100,k=0,i;
FILE *f;
FILE *fid;
f=fopen("convertor.in","r");
fid=fopen("convertor.out","w");
c=malloc(cap*sizeof(char));
for(i=0;i<cap && fscanf(f,"%c",&c[k])==1;i++)
{
if(k==cap-1) { cap=2*cap;
c=realloc(c,cap*sizeof(char));}
if(c[k]=='}')
{
fprintf(fid,",");
break;
}
if(c[k]=='"')
{
if(ok1==0)
ok1=1;
else
ok1=-1;
}
if(c[k]==',')
{
ok1=0;
fprintf(fid,",");
}
if(ok1==1 && c[k]!='"')
fprintf(fid,"%c",c[k]);
k++;
}
ok1=0;
fseek(f, 0, SEEK_SET);
for(i=0;i<cap && fscanf(f,"%c",&c[k])==1;i++)
{
if(k==cap-1) { cap=2*cap;
c=realloc(c,cap*sizeof(char));}
if(c[k]==']')
{
fprintf(fid,",");
break;
}
if(c[k]=='{') fprintf(fid,"\n");
if(c[k]==':') ok1=1;
if(ok1==1)
{
if(c[k]!=' ' && ok2 ==0 && c[k]!='"' && c[k]!='{' && c[k]!='}' && c[k]!=':' && c[k]!=',' && c[k]!='\n')
fprintf(fid,"%c",c[k]);
if(c[k]=='"')
{
if(ok2==0)
ok2=1;
else
ok2=0;
}
if(ok2==1 && c[k]!='"')
fprintf(fid,"%c",c[k]);
if(c[k]==',')
{
ok1=0;
fprintf(fid,",");
}
}
k++;
}
return 0;
}