C言語でテキストファイルのデータをどのように読み込むか
C言語では、テキストファイルを読み込むために標準ライブラリ関数fopen()とfscanf()を使用できます。
まず、fopen()関数を使用してファイルをオープンし、そのファイルへのポインタを返します。関数のプロトタイプを以下に示します。
FILE* fopen(const char* filename, const char* mode);
filename はファイルの名前、mode はファイルを開くモードで、例えば \”r\” は読み込みモード
続いて、fscanf() 関数を使ってファイルからデータを読み取ります。そのプロトタイプは次のとおりです。
int fscanf(FILE* stream, const char* format, ...);
ストリームはファイルポインタで、formatはフォーマット文字列で、読み取るデータ型と形式を指定します。…は複数のデータが読み取れることを表します。
以下に整数を含むテキストファイルの読み込み方の一例を示します。
#include <stdio.h>
int main() {
FILE* file = fopen("data.txt", "r");
if (file == NULL) {
printf("Failed to open the file.\n");
return 1;
}
int num;
while (fscanf(file, "%d", &num) != EOF) {
printf("%d\n", num);
}
fclose(file);
return 0;
}
上記のコードでは、まず”data.txt”というファイルを開いて、その後、ループの中でfscanf()関数を使用して整数データを読み取って印刷しています。fscanf()関数はファイルの末尾に達するとEOF(End of File)を返すので、それを使って全てのデータをよみとったかどうかを判定できます。
最後に、ファイルをよみこんだあと、fclose() 関数でファイルをクローズしてリソースを解放するのを忘れないでください。