C言語でファイルから数値を読み取る方法

C言語では、fscanf() 関数を使ってファイルから数値を読み込むことができます。fscanf()関数のプロトタイプを以下に示します。

int fscanf(FILE *stream, const char *format, ...);

streamはファイルへのポインタであり、formatは読み取るデータの書式を指定するための書式文字列であり、リストを引数に読み取られたデータを受け入れます。

ファイル内の数字の読み方のシンプルな例を以下に示します。

#include <stdio.h>

int main() {
    FILE *file = fopen("data.txt", "r");   // 打开文件,以只读方式打开
    if (file == NULL) {
        printf("文件打开失败\n");
        return 1;
    }

    int num;
    while (fscanf(file, "%d", &num) == 1) {
        printf("%d\n", num);   // 输出读取到的数字
    }

    fclose(file);   // 关闭文件
    return 0;
}

上の例では、最初にfopen()関数で”data.txt”というファイルを開き、その後fscanf()関数でファイルから行ごとに数字を読み取り、ファイルの終端に到達するまで繰り返します。fscanf()関数の書式文字列”%d”は、整数を読み取ることを指定しています。読み取られた数字はnum変数に格納され、printf()関数によって画面に表示されます。最後にfclose()関数でファイルを閉じます。

fscanf() 関数でファイルを読み取る前に、ファイルが存在していて開けることを確認する必要があります。

bannerAds