fgetwc, getwc - ワイド文字を FILE
ストリームから読み込む
#include <stdio.h>
#include <wchar.h>
wint_t fgetwc(FILE *stream);
wint_t getwc(FILE *stream);
fgetwc() 関数は、
fgetc(3)
に対応するワイド文字関数である。
この関数は
stream
からワイド文字を 1
文字読み込み、これを返す。
ストリームの終端に達するか、
ferror(stream)
が真になった場合には、
この関数は
WEOF
を返す。
ワイド文字変換でエラーが発生した場合は、
errno に
EILSEQ
をセットし、
WEOF
を返す。
getwc()
関数あるいはマクロは、
fgetwc()
と全く同じ動作をする。
この関数はマクロとして実装されるかもしれないので、引数が複数回評価さ
れるかもしれない。この関数を使う理由はもはや存在しない。
これらの処理を停止せずに行いたいときは、
unlocked_stdio(3)
を参照のこと。
fgetwc()
関数はストリームの次のワイド文字か、あるいは
WEOF を返す。
エラーが起こった場合、
errno
にエラーの原因を示す値が設定される。
通常のエラーに加えて、以下のエラーがある:
- EILSEQ
- 入力ストリームから取得したデータが、正しい文字でない。
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
fgetwc(), getwc() |
Thread safety |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99.
fgetwc()
の動作は、現在のロケールの
LC_CTYPE
カテゴリーに依存する。
fopen(3)
システムコールに渡す追加情報がない場合には、
fgetwc() が実際
にはマルチバイトシーケンスをストリームから読み込み、これをワイド文字に
変換すると期待することは適切である。
fgetws(3),
fputwc(3),
ungetwc(3),
unlocked_stdio(3)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。