fread()返回0,而feof(filepointer)返回0

时间:2017-11-10 14:15:39

标签: c

我试图将几个文件读入缓冲区。 他们中的大多数都成功了,但其中一个没有成功。 这总是在到达时发生(文件结束)-1。

部分代码:

char buf[1024];
long validbyte,filesize=0;
while(!feof(fp)){
    validbyte=fread(buf,sizeof(char),sizeof(buf),fp);
    filesize++;
}
printf("File size is : %ld",filesize);
printf("validbyte is %ld\n",validbyte);

实际文件大小为1044480 kb,但" filesize"始终显示1044481,并且fread()在(文件末尾)-1返回0。 The result picture

该文件是ubuntu-14.04.4-desktop-amd64.iso,可在ubuntu官方网站下载。

那么当fread()返回0并且没有到达文件末尾时会发生什么?

0 个答案:

没有答案