命名空间
变体
操作

ungetwc

来自 cppreference.com
< c‎ | io
 
 
文件输入/输出
类型和对象
函数
文件访问
直接输入/输出
无格式输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
ungetwc
(C95)
格式化输入
(C99)(C99)(C99)(C11)(C11)(C11)     
 
在头文件 <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 标准 (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++ 文档 适用于 ungetwc