要實(shí)現(xiàn)文件的隨機(jī)訪問,可以通過以下步驟使用ftell函數(shù):
以下是一個(gè)簡(jiǎn)單的示例代碼:
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r+");
if (file == NULL) {
perror("Error opening file");
return 1;
}
// 獲取當(dāng)前文件指針位置
long position = ftell(file);
// 移動(dòng)文件指針到第10個(gè)字節(jié)
fseek(file, 10, SEEK_SET);
// 再次獲取文件指針位置確認(rèn)已經(jīng)移動(dòng)到正確位置
position = ftell(file);
// 進(jìn)行讀取或?qū)懭氩僮?/span>
// 例如,讀取下一個(gè)10個(gè)字節(jié)的內(nèi)容
char buffer[11];
fread(buffer, 1, 10, file);
buffer[10] = '\0'; // 添加字符串結(jié)束符
printf("Read from position 10: %s\n", buffer);
// 關(guān)閉文件
fclose(file);
return 0;
}
在這個(gè)示例中,我們首先打開一個(gè)文件并獲取了文件指針,然后使用ftell函數(shù)獲取當(dāng)前文件指針的位置。接下來,我們使用fseek函數(shù)將文件指針移動(dòng)到第10個(gè)字節(jié)的位置,并再次使用ftell函數(shù)確認(rèn)文件指針已經(jīng)移動(dòng)到了正確的位置。最后,我們讀取了下一個(gè)10個(gè)字節(jié)的內(nèi)容,并關(guān)閉了文件。這樣就實(shí)現(xiàn)了文件的隨機(jī)訪問。