linux 下如何判断文件流是否到达文件结尾??
int read( char *pItem)
{
char confLine[CONLINELENGTH] = {};
FILE *fp;
if((fp = fopen(fileName,"r+")) == NULL)
{
perror("failed fopen\n");
exit(1);
}
while(fgets(confLine, CONLINELENGTH, fp) != NULL)
{
...............
}
// fseek(fp,0,SEEK_END);
printf("fp =%d\n",feof(fp));
return 0;
}
这是我写的一个函数,我需要判断文件流是否到达文件的结尾?
第一种情况:
我把代码中的 fseek(fp,0,SEEK_END); 注释掉,那么最后的结果是 fp= 1,根据原理表示到达了文件结尾,
第二种情况:
fseek(fp,0,SEEK_END);没有注释掉,那么最后的结果是 fp=0,根据原理表示没有到达文件结尾。
我的问题是 为什么在fseek(fp,0,SEEK_END)没有注释掉时输出的不是文件结尾呢?fseek(fp,0,SEEK_END)这是用来设置文件流到达文件结尾吗?
这其中有什么奥妙吗?请各位大侠指教