Pagini recente » Cod sursa (job #167222) | Cod sursa (job #520115) | Cod sursa (job #3133215) | Cod sursa (job #86125) | Cod sursa (job #1357480)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int cap=10024;
char c[10024];
int i;
//c=malloc(cap*sizeof(char));
int ok1=0,ok2=0,var=1;
FILE *f,*fid;
f=fopen("convertor.in","r");
fid=fopen("convertor.out","w");
if(f==NULL) printf("error");
for(i=0;i<cap;i++)
{
/*if(i==cap-1)
{
c=realloc(c,cap*sizeof(char)+1);
cap=cap+1;
}*/
fscanf(f,"%c",&c[i]);
if(c[i]==EOF) break;
if(c[i]=='{')
if(var==0) var=1;
if(c[i]=='"')
{
if(ok1==0)
ok1=1;
else
ok1=0;
}
if(c[i]==':' && var==1)
{
ok2=1;
fprintf(fid,",");
}
if(c[i]==',')
ok2=0;
if(c[i]=='}') var=-1;
if(ok1==1 && ok2!=1 && c[i]!='"' && var==1)
fprintf(fid,"%c",c[i]);
}
ok1=0; ok2=0; var=0;
fclose(f);
f=fopen("convertor.in","r");
if(f==NULL) printf("error");
for(i=0;i<cap;i++)
{
/*if(i==cap-1)
{
c=realloc(c,cap+1);
cap=cap+1;
}*/
fscanf(f,"%c",&c[i]);
if(c[i]==EOF) break;
if(c[i]=='{') fprintf(fid,"\n");
if(c[i]==':') ok1=1;
if(ok1==1)
{
if(c[i]!=' ' && ok2 ==0 && c[i]!='"' && c[i]!='{' && c[i]!='}' && c[i]!='[' && c[i]!=']' && c[i]!=':' && c[i]!=',' && c[i]!='\n')
fprintf(fid,"%c",c[i]);
if(c[i]=='"')
{
if(ok2==0)
ok2=1;
else
ok2=0;
}
if(ok2==1 && c[i]!='"')
fprintf(fid,"%c",c[i]);
if(c[i]==',')
{
ok1=0;
fprintf(fid,",");
}
}
}
fprintf(fid,",");
fclose(f);
fclose(fid);
return 0;
}