トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
入力ストリームから1文字受け取る。 |
|
ヘッダ | ||
形式 |
int fgetc(FILE* stream); |
|
引数 |
stream |
入力ストリーム。 |
戻り値 |
成功時は入力された文字が返される。読み取りエラーの発生時や、ファイル終了指示子がセットされていた場合は EOF が返される。 |
|
詳細 |
文字は unsigned char型として読み取られ、int型にキャストした状態で返される。 ファイルの終わりに達していた場合、ファイル終了指示子がセットされる(あるいはすでにセットされているだろう)。読み取りエラーが発生した場合、エラー指示子がセットされる。 引数にstdinを指定することで、標準入力から受け取ることも可能である。 |
|
注意 |
戻り値が EOF になるケースが複数あるので、その切り分けに注意が必要である。 まず、ファイルの終わりに達したことを feof関数 で確認できる。また、エラーの発生を ferror関数 で確認できる。この2つの関数がともに 0 を返す可能性があり、その場合は、EOF の置換結果と、読み取った文字の値がたまたま一致している。これはごく限られた環境下でしか起こり得ないが、可能性として考慮しておくべきである。 |
|
使用例 |
入力ファイル(test.txt)
実行結果:
|
|
関連 |
文字列の入力を受け取るには fgets関数を用いる。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place
管理者に紹介料が支払われています。
()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。
getc関数について追記。
全体的に文章を見直し修正。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |