Pagini recente » Cod sursa (job #2766181) | Cod sursa (job #20704) | Cod sursa (job #2414088) | Cod sursa (job #1016245) | Cod sursa (job #1350421)
#include<stdio.h>
#include<string.h>
void eliminare(char s[])
{
int i;
for(i=0;i<strlen(s);i++)
if(s[i]=='"' || s[i]=='[' || s[i]==']' || s[i]=='{' || s[i]=='}' || s[i]=='\t' )
strcpy(s+i,s+i+1);
for(i=0;i<strlen(s);i++)
if((s[i]==' ' && s[i+1]==',') || (s[i]==' ' && s[i-1]==',') || (s[i]==',' && s[i+1]==','))
strcpy(s+i,s+i+1);
for(i=0;i<strlen(s)-1;i++)
if((s[i]==',' && s[i+1]==',') || s[i]=='\t')
strcpy(s+i,s+i+1);
while(s[0]==' ' || s[0]=='{' || s[0]=='[' || s[0]==',')
strcpy(s,s+1);
for(i=0;i<strlen(s);i++)
while(s[i-1]==',' && s[i]==' ')
strcpy(s+i,s+i+1);
}
int main()
{
FILE* f;
FILE* g;
char s[1000000];
char* cuv=malloc(sizeof(char)*(1000000+1));
char* c=malloc(sizeof(char)*(1000000+1));
char cap[1024],inf[1024];
int k;
int ok,d;
if((f=fopen("convertor.in","r"))==NULL)
{
printf("Nu s-a deshis fisierul.");
exit(1);
}
if((g=fopen("convertor.out","w"))==NULL)
{
printf("Nu s-a deshis fisierul.");
exit(1);
}
strcpy(cap,"");
strcpy(inf,"");
while(feof(f)==0)
{
fgets(s,2014,f);
s[strlen(s)-1]='\0';
d=1;
cuv=strtok(s,",:");
c=strdup(cuv);
while(cuv!=NULL)
{
if(d==1)
{strcat(cap,c); strcat(cap,","); d=0;
if(strchr(cap,'[')) ok=1;}
else
{strcat(inf,c); strcat(inf,","); d=1;}
cuv=strtok(0,",:");
if(strchr(inf,'}') || strchr(cap,'}'))
{
eliminare(cap);
eliminare(inf);
cap[strlen(cap)]='\n';
inf[strlen(inf)]='\n';
if(ok){fputs(cap,g);ok=0;}
fputs(inf,g);
strcpy(cap,"");
strcpy(inf,"");
}
c=strdup(cuv);
}
}
fclose(f);
fclose(g);
free(cuv);
free(c);
return 0;
}