【发布时间】:2013-10-05 22:56:10
【问题描述】:
我正在尝试为文件中的每一行的新结构分配内存,但是当文件为空时,我的循环仍会分配一次内存。问题是使用 while(!feof(file)),但我无法找出 while 循环的替代检查。
循环如下所示:
while(!feof(f))
{
p = (struct PlayerTime*)malloc(sizeof(struct PlayerTime));
head = p;
fscanf(f, "%f %s", &p->seconds, p->name);
p = p->next;
}
指针和结构都是在循环之前定义的,如果文件中没有任何内容,我只是不知道如何让它不循环。
【问题讨论】:
-
除了上面的链接,请参阅接受答案here的cmets。