std::ungetwc
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <cwchar> で定義
|
||
wint_t ungetwc( wint_t ch, std::FILE* stream ); |
||
ch が WEOF と等しくなければ、ワイド文字 ch を、 stream からの後続の読み込み操作がそのワイド文字を受け取るように、ストリーム stream に紐付けられている入力バッファにプッシュします。 ストリームに紐付けられている外部デバイスは変更されません。
ストリームの位置を再設定する操作 std::fseek、 std::fsetpos および std::rewind は ungetwcの効果を破棄します。
読み込みまたは位置の再設定を挟まずに ungetwc が2回以上呼ばれた場合、 ungetwc は失敗するかもしれません (別の言い方をすると、サイズ1のプッシュバックバッファは保証されていますが、それより大きいバッファは処理系定義です)。 複数回の ungetwc に成功した場合、読み込み操作はプッシュバックされたワイド文字を ungetwc の逆順で取得します。
ch が WEOF と等しい場合、操作は失敗し、ストリームは影響を受けません。
ungetwc の呼び出しの成功は、ファイル終端状態フラグ feof をクリアします。
ストリーム (テキストかバイナリかにかかわらず) に対する ungetwc の呼び出しの成功は、ストリームの位置指示子を未規定の方法で変更しますが、プッシュバックされたワイド文字を読み込み操作ですべて取得した後、ストリームの位置指示子が ungetwc 前の値と等しくなることは保証されます。
引数
| ch | - | 戻されるワイド文字 |
| stream | - | ワイド文字を戻すファイルストリーム |
戻り値
成功した場合は ch が返されます。
失敗した場合は WEOF が返されます。 指定されたストリームは変更されません。
関連項目
| ファイルストリームに文字を戻します (関数) | |
| ファイルストリームからワイド文字を取得します (関数) | |
ungetwc の C言語リファレンス
| |