Pagini recente » Autentificare | Cod sursa (job #2212876) | Cod sursa (job #123045) | Cod sursa (job #597686) | Cod sursa (job #1349069)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(void) {
FILE *fin = fopen("convertor.in", "r");
FILE *fout = fopen("convertor.out", "w");
char linie[1025];
char auxiliar[1025];
int i, semHead = 0, contElem, lungime = 0;
int counting = 0;
char elements[256][1025];
char aux;
char *cuv;
char *sep = "\"";
while((aux = fgetc(fin)) != EOF){//fgetcscanf(fin, "%c", &aux) != EOF){
if(aux == '{'){
lungime = 0;
counting = 1;
}
if(aux != '\n' && counting == 1 ){
if(isspace(aux) || aux < 0){
if(linie[lungime - 1] != ':'){// && linie[lungime - 1] != ',' && linie[lungime - 1] != '"' ){
linie[lungime] = aux;
lungime++;
}
}
else{
if(aux != '"' && linie[lungime - 1] == ':'){
linie[lungime] = '"';
lungime++;
}
if(aux == ',' && linie[lungime - 1] != '"'){
linie[lungime] = '"';
lungime++;
}
if(aux == '}' && linie[lungime - 1] != '"'){
linie[lungime] = '"';
lungime++;
}
linie[lungime] = aux;
lungime++;
}
}
if(aux == '}'){
contElem = 0;
strcpy(auxiliar, linie);
// sep = "\"";
cuv = strtok(auxiliar, sep);
while(cuv != NULL){
strcpy(elements[contElem], cuv);
contElem++;
cuv = strtok(0, sep);
}
if(semHead == 0){
for(i = 1; i < contElem - 1; i = i + 4)
fprintf(fout, "%s,", elements[i]);
semHead = 1;
fprintf(fout, "\n");
}
for(i = 3; i < contElem; i = i + 4)
fprintf(fout, "%s,", elements[i]);
fprintf(fout, "\n");
lungime = 0;
counting = 0;
// printf("%s\n", linie);
memset(linie, 0, strlen(linie));
}
}
fclose(fin);
fclose(fout);
return 0;
}