Запись составной строки в структуру - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пусть дан файл test.txt его содержание:
1 Sidorov Moscow 3 4
2 Petrov St.Peterburg 5 31
3 Falin Chetai 24 32
4 Sokolov Ufa 32 34
И есть программа:
struct DATA {
    int number;
    char name[KOLNAME];
    char team[KOLTEAM];
    short point1;
    short point2;
};
void main()
{
    FILE *file;
        file=fopen("test.txt","r+");
    struct DATA ne;
    while ((fscanf (file,"%d %s %s %d",&ne.number, &ne.name, &ne.team, &ne.point1))==4){
    printf ("\n%d\n",ne.number);
    puts (ne.name);
    puts (ne.team);
    printf ("%d\n",ne.point1);
    }
    return;
}
Обратите внимание на строчку fscanf (file,"%d %s %s %d",&ne.number, &ne.name, &ne.team, &ne.point1) В данном случае, она в конце считывает только 1 число, и все нормально записывается в структуру, НО! самое для меня не понятное, если изменить ее так, чтобы в конце считывалось 2 числа и записывалось в структуру все сразу перестает работать!т.е. если написать: fscanf (file,"%d %s %s %d %d",&ne.number, &ne.name, &ne.team, &ne.point1, &ne.point2) программа перестает работать. Почему так происходит?

Решение задачи: «Запись составной строки в структуру»

textual
Листинг программы
int point1, point2;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5