std::basic_istream<CharT,Traits>::peek
来自 cppreference.cn
< cpp | io | basic istream
int_type peek(); |
||
其行为类似于非格式化输入函数 (UnformattedInputFunction)。在构造并测试哨兵对象后,从输入流中读取下一个字符,但不将其提取。
目录 |
[编辑] 参数
(无)
[编辑] 返回值
如果 good() == true,则返回通过 rdbuf()->sgetc() 获取的下一个字符。
否则,返回 Traits::eof()。
[编辑] 异常
如果内部操作抛出异常,则会被捕获并设置 badbit。如果 exceptions() 为 `badbit` 设置,则会重新抛出异常。
[编辑] 示例
运行此代码
#include <iostream> #include <sstream> int main() { std::istringstream s1("Hello, world."); char c1 = s1.peek(); char c2 = s1.get(); std::cout << "Peeked: " << c1 << " got: " << c2 << '\n'; }
输出
Peeked: H got: H
[编辑] 参阅
从输入序列中读取一个字符而不推进序列 ( std::basic_streambuf<CharT,Traits> 的公开成员函数) | |
提取字符 (公开成员函数) | |
取消提取字符 (公开成员函数) |