std::ungetwc
来自 cppreference.cn
定义于头文件 <cwchar> |
||
std::wint_t ungetwc( std::wint_t ch, std::FILE* stream ); |
||
如果 ch
不等于 WEOF,则将宽字符 ch
推入与流 stream
关联的输入缓冲区,以便后续从 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
之前的值。
[编辑] 参数
ch | - | 要放回的宽字符 |
stream | - | 要将宽字符放回的文件流 |
[编辑] 返回值
成功时返回 ch
。
失败时返回 WEOF,并且给定的流保持不变。
[编辑] 参见
(function) 将字符放回文件流中 | |
(function) 从文件流中获取宽字符 | |
C 文档 for ungetwc
|