std:: ungetwc
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
| Types and objects | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定义于头文件
<cwchar>
|
||
|
std::
wint_t
ungetwc
(
std::
wint_t
ch,
std::
FILE
*
stream
)
;
|
||
如果
ch
不等于
WEOF
,则将宽字符
ch
推入与流
stream
关联的输入缓冲区,使得后续从
stream
进行的读取操作将获取该宽字符。与流关联的外部设备不会被修改。
流重定位操作
std::fseek
、
std::fsetpos
和
std::rewind
会丢弃
std::ungetwc
的效果。
如果连续多次调用
std::ungetwc
而未进行读取或重定位操作,可能会调用失败(换言之,保证存在大小为1的回退缓冲区,但更大的缓冲区由实现定义)。若成功执行了多次
std::ungetwc
操作,读取操作将按照与
std::ungetwc
调用相反的顺序获取被回退的宽字符。
如果
ch
等于
WEOF
,操作将失败且流不受影响。
成功调用
std::ungetwc
会清除文件结束状态标志
feof
。
对流(无论是文本流还是二进制流)成功调用
std::ungetwc
会以未指定的方式修改流位置指示符,但保证在所有被推回的宽字符通过读取操作被检索后,流位置指示符的值与调用
std::ungetwc
之前的值相等。
参数
| ch | - | 要回退的宽字符 |
| stream | - | 要回退宽字符的文件流 |
返回值
成功时返回
ch
。
失败时返回 WEOF 且给定流保持不变。
参见
|
将字符回退到文件流中
(函数) |
|
|
从文件流获取宽字符
(函数) |
|
|
C 文档
for
ungetwc
|
|