把数据写到文件最有效率的方法就是利用二进制形式写入。
size_t fread(void* buffer,size_t size,size_t count, FILE* stream);
size_t fwrite(void* buffer,size_t size,size_t count, FILE* stream);
buffer是一个用来指向保存数据的内存地址指针,size是缓冲区每个元素的字节数,count是读取或写入的元素数
文件的随机读取:
long ftell(FILE* stream);
int fseek(FILE* stream,long offset, int from);
from:SEEK_SET、SEEK_CUR、SEEK_END
ftell函数返回的是文件的当前位置,也就是下一个即将读取或写入的距离文件起始位置的偏移量
void rewind(FILE* stream);
将读写指针设置回指定流的起始位置
int fgetpos(FILE *stream,fpos_t *position)
int fsetpos(FILE *stram,fpos_t* position);
fgetpos将文件的当前位置存储在position指向的地方,fsetpos在position指向的地方读取文件的位置