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