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