C言語のライブラリ関数fscanf()の使い方
fscanf()関数はC言語のライブラリ関数であり、ファイルからフォーマットされた入力を取得するために使用されます。その使用法はscanf()関数と似ていますが、標準入力からではなくファイルから入力を取得します。
fscanf() 関数の基本的な使い方を以下に示します。
int fscanf(FILE *stream, const char *format, ...);
streamは読込むファイルへのポインタ、formatは読込むデータのフォーマットを指定するためのフォーマット文字列で、…は省略可能な引数で、読込むデータの変数を指定します。
以下に、fscanf() 関数でファイルから整数をどのように読み込むのかを示す簡単な例を挙げます:
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "r");
int num;
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
fscanf(file, "%d", &num);
printf("读取到的整数是:%d\n", num);
fclose(file);
return 0;
}
data.txtというファイルがfopen()で開かれてfileというポインタに代入され、fscanf()でファイルから数値が読み取られnumという変数に格納され、print()で読み取った数値が出力されました。
fscanf()関数はフォーマット文字列で指定された形式でデータを解析して読み込みます。したがって、フォーマット文字列はファイル中のデータの書式と一致させる必要があります。そうでない場合、読み込みエラーが発生する可能性があります。
また、フォーマット文字列と変数の型を適宜調整することで、fscanf() 関数を使用して、浮動小数点、文字などの他の型のデータを読み取ることができます。