ungetwc

ungetwc

在头文件中定义
wint_t ungetwc(wint_t ch,FILE * stream);(自C95以来)

如果ch不等于WEOF,则将宽字符推ch入与流关联的输入缓冲区,stream以便后续读取操作stream将检索该宽字符。与流关联的外部设备不会被修改。

流重新定位操作fseekfsetposrewind丢弃效果ungetwc

如果ungetwc在没有插入读取或重新定位的情况下多次调用,则可能会失败(换句话说,保证大小为1的推回缓冲区,但是任何较大的缓冲区都是实现定义的)。如果ungetwc执行了多个成功操作,读取操作将按照相反的顺序检索后退的宽字符ungetwc

如果ch等于WEOF,则操作失败并且流不受影响。

成功调用以ungetwc清除文件状态标志的结尾feof

成功调用ungetwc流(无论是文本还是二进制文件)可以以非特定方式修改流位置指示符,但可以保证在用读取操作检索到所有推回的宽字符后,流位置指示符等于之前的值ungetwc

参数

CH-宽字符被放回
-文件流将宽字符放回

返回值

成功时返回ch

失败时返回WEOF并且给定的流保持不变。

参考

  • C11标准(ISO / IEC 9899:2011):