C語言中可以使用文件指針的定位函數來讀取指定位置的數據。具體步驟如下:
fopen()
打開要讀取的文件,指定文件路徑和打開模式。FILE *fp;
fp = fopen("file.txt", "rb"); // 以二進制只讀方式打開文件
fseek()
將文件指針定位到指定位置。第一個參數為文件指針,第二個參數為偏移量,第三個參數為基準位置。long offset = 10; // 偏移量為10個字節
int origin = SEEK_SET; // 以文件開頭作為基準位置
fseek(fp, offset, origin);
fread()
讀取指定位置的數據。第一個參數為數據存儲的地址,第二個參數為每個數據項的大小,第三個參數為數據項的個數,第四個參數為文件指針。char buffer[100]; // 存放讀取的數據
int size = sizeof(char); // 每個數據項的大小為1個字節
int count = 100; // 讀取100個數據項
fread(buffer, size, count, fp);
fclose()
關閉文件。fclose(fp);
完整示例代碼如下:
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("file.txt", "rb");
if (fp == NULL) {
printf("文件打開失敗\n");
return 0;
}
long offset = 10;
int origin = SEEK_SET;
fseek(fp, offset, origin);
char buffer[100];
int size = sizeof(char);
int count = 100;
fread(buffer, size, count, fp);
fclose(fp);
printf("讀取的數據:%s\n", buffer);
return 0;
}
以上代碼會從文件的第11個字節開始讀取100個字節的數據,并將結果打印出來。