Pagini recente » Cod sursa (job #3225456) | Cod sursa (job #3157539) | Cod sursa (job #1375421) | Cod sursa (job #698685) | Cod sursa (job #1345310)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *p, c[1024], text = 0, nr = 0;
char cc;
int ok=0, print=0, k=0, i=0, n=0;
FILE *in, *out;
in = fopen("convertor.in","rt");
out = fopen("convertor.out","wt");
while (fread(&cc,1,1,in) && cc!='}')
{
if (cc == ',' || cc == '[') {
ok = 1;
continue;
}
else if (cc == ':') {
ok = 0;
continue;
}
if (ok) {
if (cc == '"' && print==0)
{
print = 1;
continue;
}
else if (cc == '"')
{
print = 0;
n++;
fprintf(out,",");
}
}
if (print){
fprintf(out,"%c", cc);
}
}
fseek(in, 0, SEEK_SET);
fprintf(out ,"\n");
while(1)
{
fread(&c, 1, 1024, in);
p=strdup(c);
while((p = strchr(p, ':')) != NULL)
{
p+=1;
k = 0;
text = nr = 0;
while (p[k] != '"' && ( p[k] < '0' || p[k] > '9' ))
k++;
if (p[k] == '"')
k++, text = 1;
else nr = 1;
if (text == 1)
while (p[k]!='"')
{
fwrite(&p[k], 1, 1, out);
k++;
}
else if (nr == 1)
while (p[k] >= '0' && p[k] <= '9')
{
fwrite(&p[k], 1, 1, out);
k++;
}
fprintf(out,",");
i++;
if (i==n)
{
i=0;
fprintf(out ,"\n");
}
}
break;
}
return 0;
}