指定の位置からC言語で読み出す

C言語ではファイルポインタの位置決め関数を利用することで、任意の位置にあるデータを読み取ることが可能です。その手順は以下の通りです。

  1. ファイルを開く
FILE *fp;
fp = fopen("file.txt", "rb"); // 以二进制只读方式打开文件
  1. fseek()
long offset = 10; // 偏移量为10个字节
int origin = SEEK_SET; // 以文件开头作为基准位置
fseek(fp, offset, origin);
  1. ファイルから読み込む
char buffer[100]; // 存放读取的数据
int size = sizeof(char); // 每个数据项的大小为1个字节
int count = 100; // 读取100个数据项
fread(buffer, size, count, fp);
  1. 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バイトを読み込み、結果を表示します。

bannerAds