我有一个程序应该从文本文件中加载一些信息,然后将其显示到屏幕上。当我显示信息时,我遇到了一个无限循环。对于我的生活,我无法弄清楚为什么(我对链表和 C 的理解非常有限,我敢肯定)。这里结构:
我在其他人的帖子中看到该错误可能是在负载中引起的。我想我会在那里遇到无限循环,但也许我没有将最后一个“下一个”设置为 NULL 或其他东西时遇到问题。这里是:
void loadtimes()
{
FILE *fileName = fopen("saved_times.txt","r");
char input[MAX_STR_LEN];
int counter=1;
struct PlayerTime *p;
p=(struct PlayerTime*)malloc(sizeof(struct PlayerTime));
...
if(fileName!=NULL){
while((fgets(input,MAX_STR_LEN,fileName)!=NULL)){
if(counter==1){
p->seconds=atoi(input);
}
if(counter==2){
strcpy(p->name,input);
counter=0;
p->next=list_head;
list_head = p;
}
counter++;
}
}
}
希望这是我做错的微不足道的事情。任何人都可以帮忙吗?