Добрый день, каждый, Получил это упражнение из моего профессионального веб-пространства. У меня есть такой текстовый файл:C, Код: Блок, еще один сиггэгв, списки
Simon Phillips 30
Neil Peart 45
Vinnie Colaiuta 50
Я хочу сохранить это в список, так вот мой код:
struct listplot {
char name[25];
char sur[25];
int age;
struct listplot *next;
};
typedef struct listplot EL;
EL *list;
int filescan(EL *current)
{
FILE *in;
int count=0;
in=fopen("persone.txt", "r");
if (ferror(in))
{
printf("File Error\n");
return count;
}
do
{
current=malloc(sizeof(EL));
fscanf(in,"%s%s%d", current->name, current->sur, ¤t->age);
current->next=NULL;
if (!feof(in)) count=count+filescan(current->next);
}
while (!feof(in));
return count;
}
В main
я есть:
int count=filescan(list);
Этот код не будет работать. В отладке кажется, что цикл «do» бесконечен, но в конечном итоге программа вылетает с ошибкой сегментации. Может ли кто-нибудь помочь мне с этим? Большое спасибо.
Не читать строки без указания максимальной длины. И не думайте, что чтение преуспевает. – chris
НЕ РЕШАЙТЕ свою функцию filecan! – Pieter21
Почему я не должен возвращаться? И почему это не должно получиться? – user3783681