std::ungetwc
来自cppreference.com
在标头 <cwchar> 定义
|
||
std::wint_t ungetwc( std::wint_t ch, std::FILE* stream ); |
||
若 ch
不等于 WEOF,则推入宽字符 ch
到与流 stream
关联的输入缓冲区,其方式使得 stream
的后继读取操作将取得该宽字符。不修改与流关联的外部设备。
流重寻位操作 std::fseek、std::fsetpos 和 std::rewind 丢弃 ungetwc
的效果。
若调用 ungetwc
多于一次,而无中间读取或重寻位,则可能失败(换言之,保证大小为 1 的回放缓冲区,但任何更大的缓冲区是实现定义的)。若成功进行了多次 ungetwc
,则读取操作以 ungetwc
的逆序取得回放的宽字符。
若 ch
等于 WEOF,则操作失败而不影响流。
对 ungetwc
的成功调用清除文件尾状态标志 feof。
在流(无论文本还是二进制)上对 ungetwc
的成功调用以未指定方式修改流位置指示器,但保证在以读取操作取得所有回放的宽字符后,流位置指示器等于其在 ungetwc
之前的值。
参数
ch | - | 要推入输入流缓冲区的宽字符 |
stream | - | 要回放宽字符的文件流 |
返回值
成功时返回 ch
。
失败时返回 WEOF,而给定的流保持不变。
参阅
把字符放回文件流 (函数) | |
从文件流获取宽字符 (函数) |