Pagini recente » Cod sursa (job #2217027) | Cod sursa (job #2038436) | Cod sursa (job #1074039) | Cod sursa (job #773102) | Cod sursa (job #1359936)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
unsigned int dt=0;
FILE *f = fopen("convertor.in" , "rt" ), *g = fopen ("convertor.out" , "wt");
char b , *tag = NULL;
b = fgetc(f);
while ( b != '"' )
b = fgetc(f);
while ( b != '}')
{
//b == '"'
b = fgetc(f);
while ( b != '"')
{
fputc( b , g );
b = fgetc(f);
}
// b == '"'
fputc(',' , g );
b = fgetc(f);//scap de "
while ( ( ( b < '1' ) || ( b > '9' ) ) && ( b != '"' ) )
b = fgetc(f);
//b fie e cifra fie e ghilimea
if ( b == '"' )
{
b = fgetc(f);
while ( b != '"')
{
tag = (char*) realloc( tag , ++dt * sizeof(char) );
tag[dt-1] = b;
b = fgetc(f);
}
b = fgetc(f);
}
else
{
while ( (b > 47) && ( b < 58 ) )
{
tag = (char*) realloc( tag , ++dt * sizeof(char) );
tag[dt-1] = b;
b = fgetc(f);
}
}
tag = (char*) realloc( tag , ++dt * sizeof(char) );
tag[dt-1] = ',';
//b == ghilimea sau spatiu sau virgula sau acolada
while ( ( b != '}' ) && ( b != '"') )
b = fgetc(f);
}
fputc( '\n' , g );
tag = (char*) realloc( tag , ++dt * sizeof(char) );
tag[dt-1] = '\0';
fputs( tag , g );
fputc( '\n' , g );
free(tag);//b == '}'
while ( b != '"' && b != EOF )
b = fgetc(f);
while ( b != EOF )//prima data e ","
{
while ( b != '}' )
{
b = fgetc(f);
while ( b != '"' )
b = fgetc(f);//citesc cheia
//b == '"'
b = fgetc( f );
while ( ( ( b < '1' ) || ( b > '9' ) ) && ( b != '"' ) )
b = fgetc(f);
if ( b == '"' )
{
b = fgetc(f);
while ( b != '"' )
{
fputc( b , g );
b = fgetc(f);
}
b = fgetc(f);
}
else
{
while ( (b > 47) && ( b < 58 ) )
{
fputc( b , g );
b = fgetc(f);
}
}
fputc( ',' , g );//b e spatiu virgula sau ghilimele
while ( ( b != '}' ) && ( b != '"') )
b = fgetc(f);
}
fputc( '\n' , g );
//b=='}'
b = fgetc( f );
while ( ( b != '"' ) && ( b != EOF ) )
b = fgetc( f );
}
fclose(g);
fclose(f);
return 0;
}