【C言語】ファイルから一行ずつ読み込みする方法を解説

この記事では、C言語でファイルから一行ずつ読み込む方法を解説します。

ファイルを開く方法から、一行ずつ読み込む方法まで、初心者にもわかりやすく説明します。

目次から探す

ファイルから一行ずつ読み込む方法

ファイルを開く

まずは、ファイルを開くためにfopen関数を使用します。

fopen関数は、指定したファイルを開き、ファイルポインタを返します。

ファイルポインタは、ファイルに対する操作を行うために使用されます。

以下は、ファイルを読み込みモードで開く例です。


#include <stdio.h>
int main() {
    FILE *file;
    file = fopen("sample.txt", "r");
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // ファイルを操作する処理
    fclose(file);
    return 0;
}

上記の例では、fopen関数を使用してsample.txtというファイルを読み込みモードで開いています。

ファイルが正常に開けたかどうかは、fileNULLでないかを確認することで判定しています。

ファイルから一行ずつ読み込む

ファイルを開いたら、fgets関数を使用して一行ずつ読み込むことができます。

fgets関数は、指定したファイルポインタから一行を読み込み、指定した文字数分だけ文字列に格納します。

以下は、ファイルから一行ずつ読み込む例です。


#include <stdio.h>
int main() {
    FILE *file;
    file = fopen("sample.txt", "r");
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    char line[256];
    while (fgets(line, sizeof(line), file) != NULL) {
        printf("%s", line);
    }
    fclose(file);
    return 0;
}

上記の例では、fgets関数を使用してsample.txtから一行ずつ読み込み、読み込んだ行をそのまま出力しています。

fgets関数は、指定した文字数分だけ文字列に格納するため、line配列のサイズを適切に設定する必要があります。

以上が、ファイルから一行ずつ読み込む方法の解説です。

fopen関数でファイルを開き、fgets関数で一行ずつ読み込むことができます。

目次から探す