Spec-Zone.ru › C++

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

int_type peek();

Ведёт себя как UnformattedInputFunction. После создания и проверки объекта sentry считывает следующий символ из потока ввода без его извлечения.

Параметры

(нет)

Значение результата

Если good() == true, возвращает следующий символ, полученный с помощью rdbuf()->sgetc().

В противном случае, возвращает Traits::eof().

Исключения

failure если произошла ошибка (флаг состояния ошибки не goodbit) и exceptions() установлено для выбрасывания исключения в этом состоянии.

Если внутренняя операция выбросила исключение, оно перехватывается и 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

См. также

sgetc
считывает один символ из последовательности ввода без продвижения последовательности
(публичный член-функция std::basic_streambuf<CharT,Traits>)
get
извлекает символы
(публичный член-функция)
unget
возвращает символ назад в поток
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_istream/peek

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API