c语言没有提供获取文件大小的函数,需自己编写。
一、fgetpos、fsetpos、fseek、ftell函数介绍
fgetpos原型:int fgetpos(FILE *stream,fpos_t *pos);获取文件当前位置指针
fsetpos原型:int fsetpos(FILE *stream, const fpos_t *pos);将位置指针定位在文件内pos处
fseek原型:int fseek(FILE *stream, long offset, int fromwhere);将指针定位在以fromwhere为基准,offset为偏移的字节位置
ftell原型:long ftell(FILE *stream);获取文件当前位置指针到文件首的字节数
二、代码实现
long fbytes(FILE *stream)
{
fpos_t pos;
long n;
fgetpos(stream, &pos);
fseek(stream, 0, SEEK_END);
n = ftell(stream);
fsetpos(stream, &pos);
return n;
}