Pagini recente » Cod sursa (job #1900711) | Cod sursa (job #603241) | Cod sursa (job #295205) | Cod sursa (job #270721) | Cod sursa (job #1342915)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *cut(char *text )
{
int i,j;
char *retur;
for(i=0;i<strlen(text);i++)
if((text[i]<='9')&&(text[i]>='0'))
{
strcpy(text,text+i);
for (j=1;j<strlen(text);j++)
if (!((text[j]<='9')&&(text[j]>='0')))
{
retur=malloc((j+1)*sizeof(char));
strncpy(retur,text,j);
retur[j]='\0';
strcpy(text,text+j+1);
return retur;
}
}
else if (text[i]=='\"') break;
for(i=0;i<strlen(text);i++)
if (text[i]=='\"')
{
strcpy(text,text+i+1);
break;
}
for(i=0;i<strlen(text);i++)
if (text[i]=='\"')
{
retur=malloc((i+1)*sizeof(char));
strncpy(retur,text,i);
retur[i]='\0';
strcpy(text,text+i+1);
return retur;
}
}
int main()
{ FILE *citire;
FILE * afisare;
citire=fopen("convertor.txt","r");
afisare=fopen("convertor.out","w");
char a[1025];
char *b;
char token[1025][1025];
int s=0;
while( fgets(a,1025,citire)!=0)
{
while(strchr(a,':')!=NULL)
{
b=cut(a);
strcpy(token[s++],b);
}
}
int i,j;
int lungime;
for (i=2;i<s;i=i+2)
if (strcmp(token[i],token[0])==0)
{ lungime=i;break;}
for (i=0;i<lungime;i=i+2)
fprintf(afisare,"%s,",token[i]);
fprintf(afisare,"\n");
for(i=0;i<s/lungime;i++)
{
for(j=1;j<lungime;j=j+2)
fprintf(afisare,"%s,",token[i*lungime+j]);
fprintf( afisare,"\n");
}
fclose(afisare);
return 0;
}