命名空间
变体
操作

std::basic_istream<CharT,Traits>::peek

来自 cppreference.cn
< cpp‎ | io‎ | basic istream
 
 
 
 
int_type peek();

其行为类似于非格式化输入函数 (UnformattedInputFunction)。在构造并测试哨兵对象后,从输入流中读取下一个字符,但不将其提取。

目录

[编辑] 参数

(无)

[编辑] 返回值

如果 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> 的公开成员函数) [编辑]
提取字符
(公开成员函数) [编辑]
取消提取字符
(公开成员函数) [编辑]