C 语言读取二进制文件大小
fseek(fp,0,SEEK_END);
int size = ftell(fp);
size即为结果。
函数一:fseek
stdio中的库函数:
函数原型:int fseek(FILE *stream, long int offset, int whence);
功能:设定文件指针的位置
参数:
stream: 需要读取的文件流。
whence:文件源指针的位置,值可以是这三个中的一个:SEEK_SET、SEEK_CUR、SEEK_END分别表示文件开头位置,文件当前位置,文件结尾位置。
offset:表示以 whence为基点的偏移量的大小。
所以这个函数的整体功能是:从任意位置比如最常用的SEEK_SET、SEEK_CUR、SEEK_END,移动文件指针,移动的大小为offset。函数执行之后,文件指针就移动到了whence + offset位置处。
返回值:执行成功返回0,执行失败返回非零。
函数二:ftell
stdio中的库函数:
函数原型: long int ftell(FILE *stream);
功能:当前文件读写位置。
返回值:是当前读写位置偏离文件头部的字节数.