如果要讓文件中的數(shù)據(jù)能夠隨意存取,而不要按照數(shù)據(jù)的先后順序?qū)懭牖蛘咦x出,那么就需要利用隨機文件。同一個隨機文件中每一條記錄在磁盤中所使用的長度是一定的。隨機文件中每一條記錄都指定一個編號,存取時按照編號計算出其所存放位置,來存取數(shù)據(jù)。
隨機文件中用到的函數(shù)如下:
(1)fseek函數(shù):
·語法:int fseek(FILE*stream,long offset,int whence)。
·功能:將指針移動到文件指定位置。
·說明:stream:文件指針名稱必須和fopen函數(shù)的文件指針名稱相同;
whence:文件位置;
offset:相對于whence所在位置,以Byte為單位。
(2)fwrite函數(shù):
·語法:size t fwrite(const void。ptr,size_tsize,size_tn,F(xiàn)ILE。stream)。
·功能:將數(shù)據(jù)寫入隨機文件中。
(3)fread函數(shù):
·語法:size t fread(void*ptr,size_t size,size_t n,F(xiàn)ILE*stream)。
·功能:將數(shù)據(jù)由隨機文件中讀出。
·說明:stream:為文件指針;
Dtr:為文件指針或存取變量名稱,若為變量前面加&;
size:一條記錄大小,以Byte為單位;
n:每次存取多少個數(shù)據(jù)。
隨機文件中用到的函數(shù)如下:
(1)fseek函數(shù):
·語法:int fseek(FILE*stream,long offset,int whence)。
·功能:將指針移動到文件指定位置。
·說明:stream:文件指針名稱必須和fopen函數(shù)的文件指針名稱相同;
whence:文件位置;
offset:相對于whence所在位置,以Byte為單位。
(2)fwrite函數(shù):
·語法:size t fwrite(const void。ptr,size_tsize,size_tn,F(xiàn)ILE。stream)。
·功能:將數(shù)據(jù)寫入隨機文件中。
(3)fread函數(shù):
·語法:size t fread(void*ptr,size_t size,size_t n,F(xiàn)ILE*stream)。
·功能:將數(shù)據(jù)由隨機文件中讀出。
·說明:stream:為文件指針;
Dtr:為文件指針或存取變量名稱,若為變量前面加&;
size:一條記錄大小,以Byte為單位;
n:每次存取多少個數(shù)據(jù)。