std::ungetwc
From cppreference.com
| ヘッダ <cwchar> で定義 |
||
| std::wint_t ungetwc( std::wint_t ch, std::FILE* stream ); |
||
ch が WEOF と等しくない場合、ストリーム stream に関連付けられた入力バッファにワイド文字 ch をプッシュします。これにより、後続の stream からの読み込み操作でそのワイド文字が取得されるようになります。ストリームに関連付けられた外部デバイスは変更されません。
ストリームの再配置操作である std::fseek、std::fsetpos、および std::rewind は、std::ungetwc の効果を破棄します。
読み込みまたは再配置が介入しないまま std::ungetwc が複数回呼び出された場合、失敗する可能性があります(つまり、サイズ 1 のプッシュバックバッファは保証されますが、それより大きいバッファは実装定義です)。複数の std::ungetwc が成功した場合、読み込み操作はプッシュバックされたワイド文字を std::ungetwc の逆順で取得します。
ch が WEOF と等しい場合、操作は失敗し、ストリームは変更されません。
std::ungetwc が正常に呼び出されると、ファイルの終端ステータスフラグ feof がクリアされます。
(テキストまたはバイナリを問わず)ストリームに対する std::ungetwc の正常な呼び出しは、ストリーム位置指示子を未指定の方法で変更しますが、プッシュバックされたすべてのワイド文字が読み込み操作で取得された後、ストリーム位置指示子が std::ungetwc 呼び出し前の値と等しくなることを保証します。
[編集] パラメータ
| 文字 | - | 戻されるワイド文字 |
| stream | - | ワイド文字を戻すファイルストリーム |
[編集] 戻り値
成功した場合、ch が返されます。
失敗した場合、WEOF が返され、指定されたストリームは変更されません。
[編集] 関連項目
| ファイルストリームに1文字を戻す (関数) | |
| ファイルストリームから1ワイド文字を取得する (関数) | |
| C のドキュメント (
ungetwc) | |