fscanf
fscanf — フォーマットに基づきファイルからの入力を処理する
説明
mixed fscanf ( resource handle, string format [, mixed &...] )関数fscanf() は sscanf() に 似ていますが、handleが指すファイルから入力 を取得し、指定したフォーマット formatに基 づき解釈を行います。フォーマットについては sprintf() に解説されています。 この関数のパラメータが二つだけの場合、処理さ れた値は配列として返されます。他方、オプションのパラメータが指定 された場合、この関数は、代入された値の数を返します。オプション引 数は参照渡しとする必要があります。
フォーマット文字列におけるあらゆる空白は 入力ストリームのあらゆる空白にマッチします。 これはつまりフォーマット文字列の\t(タブ)すらも 入力ストリームの空白1個にマッチしてしまうことを意味します。
例 609. fscanf()の例
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... これらの値を使用して何か行う
}
fclose($handle);
?>
例 610. users.txt の内容
javier argonaut pe
hiroshi sculptor jp
robert slacker us
luigi florist it
注意: PHP 4.3.0未満では、ファイルから読み込む文字の最大数は512 (または最初に\nが現れるまで)でした。 PHP 4.3.0以降では任意の長い行を読みスキャンすることができます。
fread(), fgets(), fgetss(), sscanf(), printf(), sprintf() も参照ください。
fscanf
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/23 00:15 UTC 版)
int fscanf(FILE *fp, const char *format, ...); fscanf は第1引数にFILEポインタを指定することで、標準入力からではなくファイルストリームから読み込む。C言語では標準入力は stdin というFILEポインタで表すので、fscanf(stdin, ...) は scanf と完全に同義である。
※この「fscanf」の解説は、「scanf」の解説の一部です。
「fscanf」を含む「scanf」の記事については、「scanf」の概要を参照ください。
固有名詞の分類
- fscanfのページへのリンク