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. Если для badbit установлено значение exceptions(), исключение выбрасывается повторно.

Пример

#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/cpp/io/basic_istream/peek

Spec-Zone.ru

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