ungetwc
来自 cppreference.cn
定义于头文件 <wchar.h> |
||
wint_t ungetwc( wint_t ch, FILE *stream ); |
(since C95) | |
如果 ch
不等于 WEOF,则将宽字符 ch
推入与流 stream
关联的输入缓冲区,以便后续从 stream
读取操作将检索该宽字符。与流关联的外部设备未被修改。
流重新定位操作 fseek, fsetpos, 和 rewind 丢弃 ungetwc
的效果。
如果多次调用 ungetwc
而没有中间的读取或重新定位,则可能会失败(换句话说,保证大小为 1 的回推缓冲区,但任何更大的缓冲区都是实现定义的)。如果执行了多次成功的 ungetwc
,则读取操作将按 ungetwc
的相反顺序检索回推的宽字符
如果 ch
等于 WEOF,则操作失败,并且流不受影响。
成功调用 ungetwc
会清除文件结束状态标志 feof。
在流(无论是文本还是二进制)上成功调用 ungetwc
会以未指定的方式修改流位置指示符,但保证在通过读取操作检索所有回推的宽字符后,流位置指示符等于其在 ungetwc
之前的值。
目录 |
[编辑] 参数
ch | - | 要放回的宽字符 |
stream | - | 要将宽字符放回的文件流 |
[编辑] 返回值
成功时返回 ch
。
失败时返回 WEOF,并且给定的流保持不变。