非常教程

C参考手册

文件输入/输出 | File input/output

ungetwc

在头文件<wchar.h>中定义

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):
    • 7.29.3.10 ungetwc函数(p:425-426)
  • C99标准(ISO / IEC 9899:1999):
    • 7.24.3.10 ungetwc函数(p:370-371)
C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。