c语言 空文本文件的 文件指针 问题求教
使一个文件指针fp 指向一个空的txt即文本文件,此时的 feof(fp)为何值? 1?好像不大对
假设已经建立了 a.txt 一个空文本文件
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
if((fp=fopen("a.txt","r"))==NULL)
{
printf("error!\n");
exit(0);
}
if(feof(fp))
printf("void\n");
}
\\此时结果不会输出void
而
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char c;
if((fp=fopen("a.txt","r"))==NULL)
{
printf("error!\n");
exit(0);
}
c=fgetc(fp);
putchar(c);
if(feof(fp)) printf("void\n");
}
会出现 输出void
有假设a.txt 有一个字符 'a'
第二个程序会把 'a'输出
那么fp的第一个指向到底是什么?
这个问题是我用链表储存文本文件字符时遇到的 当遇到空文本文件 会有错误,为了消除错误直接加上feof判断不管用
难道只能借鉴第二段代码那样 char c ???
还是文本文件 无论是否为空 末尾都会有一些东西呢?
求高手
第5楼
[ 本帖最后由 tyf19938 于 2013-1-6 14:22 编辑 ]