指定の位置からC言語で読み出す
C言語ではファイルポインタの位置決め関数を利用することで、任意の位置にあるデータを読み取ることが可能です。その手順は以下の通りです。
- ファイルを開く
FILE *fp;
fp = fopen("file.txt", "rb"); // 以二进制只读方式打开文件
- fseek()
long offset = 10; // 偏移量为10个字节
int origin = SEEK_SET; // 以文件开头作为基准位置
fseek(fp, offset, origin);
- ファイルから読み込む
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バイトを読み込み、結果を表示します。