函数原型:
size_t fread(void *buffer, size_t size, size_t count, FILE *stream);
fread是用来读取块数据的,主要就是结构体类型的数据。
因此,它的count是结构体对象的数量,size是sizeof(struct xxx),还有就是读取二进制文件
,使用fread可以一次性把整个二进制文件读取到内存缓冲区当中,那么size就是文件的字节大小
了,而count则设置为1;也可以一次读取一个字符的数据即size=1,那么读取的次数count就是
整个文件的大小了。因此,读取的次数count要看实际情况来决定,没有定式的,要灵活运用吧。
如果是按结构体读 或者按变量类型读 可以用文件总大小除以sizeof(元素结构类型)
比如写入 的是int值 可以获得文件大小然后除以sizeof(int)
如果写入的是结构体 那么就是文件大小除以sizeof(结构体)
int main()
{
FILE *fp;
fp=fopen( "file.txt", "r");
fseek(fp, 0L, SEEK_END );
printf(" file size = %d\n", ftell(fp) ); //文件大小
return 0;
}