std::basic_istream<CharT,Traits>::peek
来自cppreference.com
| |
||
表现为无格式输入函数 (UnformattedInputFunction) 。构造并测试 sentry 对象后,从输入流读取下个字符而不提取它。
参数
(无)
返回值
若 good() == true,则返回获得自 rdbuf()->sgetc() 的下个字符。
否则,返回 Traits::eof()。
异常
在出现错误(错误状态标志不是 goodbit)并且 exceptions() 已设置为对该状态抛出时,会抛出 failure。
如果内部操作抛出了异常,那么捕获它并设置 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> 的公开成员函数)
| |
| 提取字符 (公开成员函数) | |
| 撤销上一个字符的提取 (公开成员函数) |