Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Формирование массива структур из строки

71K
13 мая 2011 года
Лё ша
1 / / 13.05.2011
Столкнулся с проблемой =(
Вот у меня структура и как я ее заполняю:
Код:
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);
Но при вводе фамилии, оно почему-то добавляет ее к отчеству последнего элемента, считанного с файла..

То есть, считывает оно такое:

а после добавления нового элемента, выходит такое:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог