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
См. также
| читает один символ из входной последовательности, не продвигаясь по ней (открытая функция-член std::basic_streambuf<CharT,Traits>) |
|
| извлекает символы (открытая функция-член) |
|
| отменяет извлечение символа (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_istream/peek