ungetwc

来自cppreference.com
< c‎ | io
 
 
 
定义于头文件 <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 - 要被放回的宽字符
stream - 放回宽字符的文件流

[编辑] 返回值

成功时返回ch

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

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.29.3.10 The ungetwc function (p: 425-426)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.24.3.10 The ungetwc function (p: 370-371)

[编辑] 参阅

将一个字符送回文件流
(函数) [编辑]
从文件流获取一个宽字符
(函数) [编辑]
ungetwcC++ 文档