fgetc
fgetc — ファイルポインタから1文字取り出す
説明
string fgetc ( resource handle )handleが指すファイルポインタから1文字読み出し、 その文字からなる文字列を返します。EOFの場合にFALSEを返します。
ファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。
| 警告 |
| この関数は論理値
FALSE を返す可能性がありますが、FALSE として評価される
0 や "" といった値を返す可能性もあります。
詳細については 論理値の
セクションを参照してください。この関数の返り値を調べるには
===演算子 を
使用してください。 |
例 593. fgetc() の例
<?php
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
echo 'Could not open file somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
echo "$char\n";
}
?>
注意: この関数はバイナリデータに対応しています。
fread(),fopen(), popen(), fsockopen(), fgets()も参照ください。
fgetc
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/04 09:07 UTC 版)
ナビゲーションに移動 検索に移動fgetcは、ファイルストリームから1文字読み込むC言語の標準Cライブラリの関数。標準ヘッダーファイル <stdio.h> で宣言されている。呼称はエフゲットシーと呼ばれることが多い。 unsigned char で読み込み int に型変換(キャスト)して返す。入力に成功した場合には入力した文字が、入力に失敗した場合あるいはファイル終端に達した場合にはEOFが返却値となる。
fgetc関数は、動作的にはgetcと等価である。だが、getcがマクロで実装されてもよいのに対し、fgetcは必ず関数として実装されている。そのため、fgetcの引数として副作用のある式を指定しても、問題なく動作する。また、関数ポインタを取得することもできる。
形式
#include <stdio.h>
int fgetc(FILE *stream);
コード例
#include <stdio.h>
int main(void) {
int c;
FILE *infp;
infp = fopen("infile.txt", "r");
if (infp == NULL) {
return -1;
}
/* ここでは fgetc の代わりに getc を使うこともできる */
while ((c = fgetc(infp)) != EOF) {
/* ここでは fputc の代わりに putc や putchar を使うこともできる */
fputc(c, stdout);
}
fclose(infp);
return 0;
}
infile.txt というテキストファイルから1文字ずつ読み込み、標準出力にその内容が表示される。
関連項目
外部リンク
fgetc(3)– JM Project Linux Library Functions マニュアル
固有名詞の分類
- Fgetcのページへのリンク