next up previous contents
Next: Func Up: リファレンスマニュアル Previous: frobnorm_row

  
fscanf

【目的】
fscanf - ファイルから書式付きでデータを読み込む
【形式】
L = fscanf(fd, format)
   List L;
   Integer fd;
   String format;
【詳細】
fscanf(fd, format)は,fd = fopen() でオープンしたファイルから format で指定した書式でデータを読み込み,データからなるリスト を返す。整数型,実数型,文字列型のデータを読み込める。 書式は,C言語の関数 scanf() の書式と同じものを指定する。 変換を表すには,パーセント %,フィールド幅(オプション), 変換文字を指定する。変換文字には,次の文字がある。
%d, %u, %o, %x, %X, %i:整数型
%e, %E, %f, %g, %G:実数型
 :(%lf等は倍精度, %hf等は単精度)
%c, %s:文字列型
fscanf(0,format)は,標準入力から読み込む。 fscanf(file,format)は,ファイル file をオープンし, fortmat で指定した書式でデータを読み込み,ファイルを閉じる。 データを 1 度だけ読み込む場合は,この方法が便利である。 ただし,データを何度も読み込む場合は,ファイルのオープン とクローズが繰り返されるので効率が非常に悪い。
【例題】
ファイル afo を読み込み用にオープンし,fscanf() でデータを読み込む。
if ((fd = fopen("afo", "r")) < 0) {
    error("Can't open %s", "afo");
}
{a, b, c} = fscanf(fd2, "%d %lf %s");
fclose(fd);
【参照】
fopen(2.75), fclose(2.64), fprintf(2.77), fgets(2.69), fread(2.78), fwrite(2.84)


Masanobu KOGA 平成11年10月2日