Namespaces
Variants

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

From cppreference.net
basic_istream & unget ( ) ;
Перевод текста на веб-странице на Русский:
basic_istream & unget ( ) ;
**Примечание**: В данном фрагменте HTML отсутствует переводимый текст - все содержимое находится внутри тегов ` `, которые содержат C++ код, и согласно инструкциям, код C++ не переводится. HTML теги и атрибуты также сохранены в оригинальном виде.

Делает последний извлеченный символ снова доступным.

Сначала сбрасывает eofbit . Затем, (начиная с C++11) unget ведёт себя как UnformattedInputFunction . После создания и проверки сторожевого объекта, если установлены какие-либо ios_base::iostate флаги, функция устанавливает failbit и возвращается. В противном случае вызывает rdbuf ( ) - > sungetc ( ) .

Если rdbuf ( ) - > sungetc ( ) возвращает Traits :: eof ( ) , вызывает setstate ( badbit ) .

В любом случае, устанавливает счётчик gcount() в ноль.

Содержание

Параметры

(нет)

Возвращаемое значение

* this

Исключения

failure if an error occurred (the error state flag is not goodbit ) and exceptions() is set to throw for that state.

Если внутренняя операция выбрасывает исключение, оно перехватывается и badbit устанавливается. Если exceptions() установлен для badbit , исключение выбрасывается повторно.

Пример

#include <iostream>
#include <sstream>
int main()
{
    std::istringstream s1("Hello, world.");
    char c1 = s1.get();
    if (s1.unget())
    {
        char c2 = s1.get();
        std::cout << "Got: '" << c1 << "'. Got again: '" << c2 << "'.\n";
    }
}

Вывод:

Got: 'H'. Got again: 'H'.

Смотрите также

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