Pagini recente » Cod sursa (job #2861627) | Cod sursa (job #2689877) | Cod sursa (job #2948899) | Cod sursa (job #622155) | Cod sursa (job #1342955)
#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=(char *)malloc((j+1)*sizeof(char));
strncpy(retur,text,j);
retur[j]='\0';
strcpy(text,text+j+1);
return retur;
}
}
else if (text[i]=='\"')
{
//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;
}
}
return NULL;
}
int main()
{ FILE *citire;
FILE * afisare;
citire=fopen("convertor.in","r");
afisare=fopen("convertor.out","w");
char a[1025];
char *token[1025];
int s=0;
while( fgets(a,1025,citire))
{
while(strchr(a,':')!=NULL)
{
token[s++]=cut(a);
}
}
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;
}