名前 | 形式 | 機能説明 | 戻り値 | エラー | 使用法 | 属性 | 関連項目
#include <stdio.h> #include <wchar.h>wint_t fgetwc(FILE*stream);
fgetwc() 関数は、stream が指す入力ストリームから次の文字 (存在する場合) を読み込み、対応するワイド文字コードに変換し、ストリーム用の該当するファイルポジション表示 (定義されている場合) を進めます。
エラーが発生した場合、ストリーム用のファイルポジション表示の値がどうなるかは予測できません。
fgetwc() 関数は、stream に対応するファイルの st_atime フィールドを、更新用にマークします。fgetwc(), fgetc(3C), fgets(3C), fgetws(3C), fread(3C), fscanf(3C), getc(3C), getchar(3C), gets(3C)、および scanf(3C) のいずれかの関数のうち、以前の ungetc(3C) または ungetwc(3C) 呼び出しで返されなかったデータを返す stream を使ったものが最初に正常終了したとき、st_atime フィールドは更新用にマークされます。
正常終了時、fgetwc() 関数は stream が指す入力ストリームから得た文字のワイド文字コードを wint_t 型に変換して返します。
ストリームがファイルの終わり (EOF 状態) にあるとき、ストリーム用の EOF 表示が設定されて fgetwc() は WEOF を返します。
読み込みエラーが発生すると、ストリーム用のエラー表示が設定され、fgetwc() は WEOF を返して errno をエラーを示す値に設定します。
データを読み込む必要があるとき、以下の条件で fgetwc() は異常終了します。
stream に対応するファイル記述子に O_NONBLOCK フラグが設定されていて、プロセスの fgetwc() 動作が待たされる可能性がある
stream に対応するファイル記述子が、読み込み用にオープンされた正しいものでない
シグナルを受け取り、読み込みが終了した。データは転送されていない
物理的な入出力エラーが発生した。または、プロセスがバックグラウンドプロセスのグループでそのグループが制御端末からの読み込みをしようとして、さらにプロセスが SIGTTIN
シグナルを無視またはブロックしているか、あるいはプロセスグループ の親がなくなっている
ファイルは通常ファイルで、対応する stream に関連するオフセット最大値、またはそれ以上で作成しようとした
fgetwc() 関数は以下の条件で異常終了します。
使用可能な記憶領域が十分でない
存在しないデバイスに対して要求が出された、またはデバイスの能力を超えた要求が出された
入力ストリームから得たデータが、正しい文字を構成していない
エラー状態と EOF 状態とを区別するには、ferror(3C) と feof(3C) 関数を使用してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
MT レベル | 例外付き MT-safe |
CSI | 対応済み |