Namespaces
Variants

ungetwc

From cppreference.net
< c ‎ | io
ヘッダーで定義 <wchar.h>
wint_t ungetwc ( wint_t ch, FILE * stream ) ;
(C95以降)

ch WEOF と等しくない場合、ワイド文字 ch をストリーム stream に関連付けられた入力バッファにプッシュし、その後の stream からの読み取り操作でそのワイド文字が取得されるようにします。ストリームに関連付けられた外部デバイスは変更されません。

ストリームの再位置付け操作 fseek fsetpos および rewind ungetwc の効果を破棄します。

ungetwc が複数回呼び出され、その間に読み取りや再位置指定が行われない場合、失敗する可能性があります(言い換えれば、サイズ1のプッシュバックバッファは保証されますが、それ以上の大きなバッファは実装定義です)。複数回の成功した ungetwc が実行された場合、読み取り操作は ungetwc の逆順でプッシュバックされたワイド文字を取得します。

ch WEOF に等しい場合、操作は失敗し、ストリームは影響を受けません。

ungetwc の呼び出しが成功すると、 ファイル終端ステータスフラグ feof がクリアされます。

ストリーム(テキストまたはバイナリを問わず)に対する ungetwc の成功した呼び出しは、ストリーム位置指示子を未規定の方法で変更しますが、押し戻されたすべてのワイド文字が読み取り操作で取得された後、ストリーム位置指示子が ungetwc 実行前の値と等しくなることを保証します。

目次

パラメータ

ch - 戻すワイド文字
stream - ワイド文字を戻すファイルストリーム

戻り値

成功時には ch が返されます。

失敗時には WEOF が返され、指定されたストリームは変更されません。

参考文献

  • C11規格 (ISO/IEC 9899:2011):
  • 7.29.3.10 ungetwc関数 (p: 425-426)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.24.3.10 ungetwc関数 (p: 370-371)

関連項目

ファイルストリームに文字を戻す
(関数)
ファイルストリームからワイド文字を取得する
(関数)