Pagini recente » Cod sursa (job #1428413) | Cod sursa (job #438985) | Cod sursa (job #2196539) | Cod sursa (job #497202) | Cod sursa (job #1349033)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int empty(char *cuv) {
int i = 0;
for (i = 0; i < strlen(cuv); i++)
if (cuv[i] != ' ' && cuv[i] != '\t')
return 1;
return 0;
}
void prelucrare(char *namein, char *nameout) {
FILE *f1 = fopen(namein, "r");
FILE *f2 = fopen(nameout, "w");
char line[200000], c, text[5999999];
int nr = 0, first = 1;
int pos = 0;
int sw = 0;
int i = 0;
while ( (c = fgetc(f1)) != EOF ) {
text[i] = c;
i++;
}
i = 0;
while ( i < strlen(text) ) {
sw = 0;
if(text[i] == '"') {
i = i + 1;
while ( text[i] != '"') {
if (nr % 2 == 1 && first == 0) fputc(text[i],f2);
if (nr % 2 == 1 && first == 1) {line[pos] = text[i];pos++;}
if (nr % 2 == 0 && first == 1) fputc(text[i],f2);
i++;
}
if ( nr % 2 == 1) fputc(',',f2);
if (nr % 2 == 1 && first == 1) {strcat(line,",");pos++;}
nr++;
}
if(text[i] == '}') {
fputs("\n",f2);
nr = 0;
if(first) {
fputs(line,f2);
fputs("\n",f2);
}
first = 0;
}
while( (text[i] - '0') >= 0 && (text[i] - '0') <= 9 ) {
if (nr % 2 == 1 && first == 0) fputc(text[i],f2);
if (nr % 2 == 1 && first == 1) {line[pos] = text[i];pos++;}
if (nr % 2 == 0 && first == 1) fputc(text[i],f2);
i++;
sw=1;
}
if(sw) {
if ( nr % 2 == 1) fputc(',',f2);
if (nr % 2 == 1 && first == 1) {strcat(line,",");pos++;}
nr++;
}
i++;
}
fclose(f2);
}
int main(void)
{
char namein[] = "convertor.in";
char nameout[] = "convertor.out";
prelucrare(namein,nameout);
return 0;
}