怎样判断c语言文件存在但是否为空啊?急!!!

比如说:structstudent*pen(){FILE*fp;structstudent*p1,*head,*p2;p1=(structstudent*)malloc(... 比如说:
struct student * pen()
{
FILE *fp;
struct student *p1,*head,*p2;
p1=(struct student *)malloc(LEN);
if((fp=fopen("student.dat","rb"))==NULL)
head=NULL;
else
{
fread(p1,LEN,1,fp);
head=p1;
if(p1!=NULL)
while(p1->next!=NULL)
{
p2=(struct student *)malloc(LEN);
fread(p2,LEN,1,fp);
p1->next=p2;
p1=p2;
}
}
fclose(fp);
return(head);
}
就是说文件已经存在了,但里面是否有内容,怎样判断?
展开
 我来答
百度网友2298deca2
2010-01-17 · 超过20用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
假设文件是data.dat

char c = 0 ;
FILE *fp = fopen ("data.dat", "r") ;
//assert ( fp != NULL) ; 这一句是断言,可不加

if (fscanf (fp, "%c", &c) == EOF) //读入一个字符,若文件为空,则一个字符都没有,第一次读如就失败,fscanf返回EOF(-1)
printf ("文件为空") ;
else
printf ("文件不为空") ;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式