如果要让文件中的数据能够随意存取,而不要按照数据的先后顺序写入或者读出,那么就需要利用随机文件。同一个随机文件中每一条记录在磁盘中所使用的长度是一定的。随机文件中每一条记录都指定一个编号,存取时按照编号计算出其所存放位置,来存取数据。
随机文件中用到的函数如下:
(1)fseek函数:
·语法:int fseek(FILE*stream,long offset,int whence)。
·功能:将指针移动到文件指定位置。
·说明:stream:文件指针名称必须和fopen函数的文件指针名称相同;
whence:文件位置;
offset:相对于whence所在位置,以Byte为单位。
(2)fwrite函数:
·语法:size t fwrite(const void.ptr,size_tsize,size_tn,FILE.stream)。
·功能:将数据写入随机文件中。
(3)fread函数:
·语法:size t fread(void*ptr,size_t size,size_t n,FILE*stream)。
·功能:将数据由随机文件中读出。
·说明:stream:为文件指针;
Dtr:为文件指针或存取变量名称,若为变量前面加&;
size:一条记录大小,以Byte为单位;
n:每次存取多少个数据。