Pagini recente » Cod sursa (job #1794058) | Cod sursa (job #2795588) | Cod sursa (job #108723) | Cod sursa (job #1742497) | Cod sursa (job #1345425)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *p, c[2097152], text = 0, nr = 0;
int print = 0, k = 0, i = 0, n = 0;
FILE *in, *out;
in = fopen("convertor.in","rt");
out = fopen("convertor.out","wt");
fread(&c, 1, 2097152, in);
p = strchr(c,'{');
p += 1;
while (p[i] != '{')
{
if (p[i] == ':') {
p = strchr(p,',');
if (p == NULL)
break;
p += 1;
i = 0;
}
if (p[i] == '"' && print == 0){
i++;
print = 1;
}
else if (p[i] == '"'){
print = 0;
n++;
fprintf(out,",");
}
if (print){
fwrite(&p[i],1,1,out);
}
i++;
}
i = 0;
fprintf(out, "\n");
p=strchr(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");
}
}
fclose(in);
fclose(out);
return 0;
}