struct user
{
char F[15];
char I[15];
char O[15];
} a[10];
for (i=0;i<kol;i++) { if (buffer == '\n') kol_strok++; }
for (i=0;(i<=kol_strok) && (c < kol-1);i++) {
k = 0;
for (c=c_buf;buffer[c] != '\n';c++) {
c--;
if (buffer[c] == ';') k++;
c++;
switch (k) {
case 0:
for (tmp=0; buffer[c] != ';'; tmp++) {
a.F[tmp] = buffer[c];
c++;
}
a.F[tmp++] = '\0';
break;
case 1:
for (tmp=0; buffer[c] != ';'; tmp++) {
a.I[tmp] = buffer[c];
c++;
}
a.I[tmp++] = '\0';
break;
case 2:
for (tmp=0; buffer[c] != '\n'; tmp++) {
a.O[tmp] = buffer[c];
c++;
}
a.O[tmp++] = '\0';
c--;
break;
}
}
c_buf=c+1;
}
Формирование массива структур из строки
Вот у меня структура и как я ее заполняю:
Код:
Код:
printf("Vvedite Familiyu: "); scanf("%s",a[kol_strok].F);
printf("Vvedite Imya: "); scanf("%12s",a[kol_strok].I);
printf("Vvedite otchestvo: "); scanf("%12s",a[kol_strok].O);
printf("Vvedite Imya: "); scanf("%12s",a[kol_strok].I);
printf("Vvedite otchestvo: "); scanf("%12s",a[kol_strok].O);
То есть, считывает оно такое:
а после добавления нового элемента, выходит такое: