c语言用什么语句判断文件是否为空?
就是说,当删除完全部链表结点,文件变空了,要怎样判断文件变空?判断后,还得增加结点。只要判断文件为空就行,或者怎样判断链表已经被全部删除?...
就是说,当删除完全部链表结点,文件变空了,要怎样判断文件变空?判断后,还得增加结点。只要判断文件为空就行,或者怎样判断链表已经被全部删除?
展开
1个回答
展开全部
EOF就是文件尾的意思,一般被编译器定义为-1
倒不是说文件自己会自动生成一个EOF标志,而是你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF,BOF等等
倒不是说文件自己会自动生成一个EOF标志,而是你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF,BOF等等
追问
文件为空的话,我要给head返回一个NULL。
EOF的话,这样用行吗?
if((c=getchar()) == EOF)
return(head=NULL);
麻烦点拔一下,谢谢
追答
# include
//这是一个例子
void main()
{
FILE*fp;
char ch;
if((fp=fopen("input.txt","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getchar();
exit(1);
}
ch=fgetc(fp);/* 在文件打开时,文件内部位置指针总是指向文件的第一个字节。*/
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("/n");
fclose(fp);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询