我试图将几个文件读入缓冲区。 他们中的大多数都成功了,但其中一个没有成功。 这总是在到达时发生(文件结束)-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并且没有到达文件末尾时会发生什么?