Pagini recente » Cod sursa (job #2842739) | Cod sursa (job #757190) | Cod sursa (job #384267) | Cod sursa (job #603727) | Cod sursa (job #1359799)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *rand = calloc(1024,sizeof(char));
char **cuvinte = calloc(1024,sizeof(char*));
int i,j,k;
FILE *f = fopen("convertor.in","r");
i=0;
FILE *g = fopen("convertor.out","w");
while (!feof(f))
{
fgets(rand,1024,f);
char *p=calloc(1024,sizeof(char));
p = strtok(rand, "[{}]:,\n\t");
while (p != NULL)
{
cuvinte[i] = malloc(1024 * sizeof(char));
if (strcmp(p," ")!=0)
{
while ((p[0]==' ')||(p[0]=='"'))
{
memcpy(p,p+1,strlen(p)-1);
p[strlen(p)-1]='\0';//printf("%s\n", p);
}
while ((p[strlen(p)-1]==' ')||(p[strlen(p)-1]=='"'))
{
p[strlen(p)-1]='\0';
}
strcpy(cuvinte[i], p);
p[strlen(p)]='\0';
i++;
}
p = strtok(NULL,"[{}]:,\n\t");
}
free(p);
}
free(rand);
k = 1;
fprintf(g, "%s,", cuvinte[0]);
for ( j = 2; j < i; j += 2)
if (strcmp(cuvinte[j], cuvinte[0]) != 0)
{
fprintf(g,"%s,",cuvinte[j]);
k++;
}
else {
fprintf(g, "\n");
break;
}
int q = 1;
for (j = 1; j < i; j = j + 2)
{
fprintf(g, "%s,",cuvinte[j]);
q++;
if ((q - 1) % k == 0)
{
q = 1;
fprintf(g, "\n");
}
}
close(f);
close(g);
for (j = 0;j < i;j++)
free(cuvinte[j]);
free(cuvinte);
return 0;
}