【C言語】ファイルの特定の行だけ読み込む方法

この記事では、C言語で特定の行だけを読み込む方法について解説します。

これらの方法を使えば、大きなファイルから必要な行だけを効率的に読み込むことができます。

目次から探す

特定の行だけを読み込む方法

読み込みたい行まで飛ばす方法

特定の行だけを読み込むためには、まず読み込みたい行までの行を飛ばす必要があります。

以下に、その方法を示します。

#include <stdio.h>
int main() {
    FILE *file;
    char line[256];
    int targetLine = 5; // 読み込みたい行の番号
    file = fopen("sample.txt", "r"); // 読み込むファイルを開く
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // 読み込みたい行までの行を飛ばす
    for (int i = 1; i < targetLine; i++) {
        fgets(line, sizeof(line), file);
    }
    // 読み込みたい行を表示する
    fgets(line, sizeof(line), file);
    printf("読み込んだ行: %s", line);
    fclose(file); // ファイルを閉じる
    return 0;
}

上記のコードでは、sample.txtというファイルから5行目を読み込む例を示しています。

targetLineに読み込みたい行の番号を指定し、その行までの行をfgets関数で読み飛ばしています。

最後に、取得したい(処理したい)行をfgets関数で読み込んだ行を表示しています。

目次から探す