std::basic_istream<CharT,Traits>::unget
basic_istream& unget(); |
Возвращает последний извлеченный символ для повторного использования.
Сначала очищает eofbit. Затем,(с C++11) unget ведет себя как UnformattedInputFunction. После создания и проверки объекта сторожа, если установлены какие-либо ios_base::iostate флаги, функция устанавливает failbit и возвращается. В противном случае вызывается rdbuf()->sungetc().
Если rdbuf()->sungetc() возвращает Traits::eof(), вызывается setstate(badbit).
В любом случае, счетчик gcount() устанавливается в ноль.
Параметры
(нет)
Возвращаемое значение
*this
Исключения
failure если произошла ошибка (флаг состояния ошибки не goodbit) и exceptions() установлено для выбрасывания исключения для этого состояния. Если внутренняя операция вызывает исключение, оно перехватывается, и 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>) |
|
| извлекает символы (публичный член-функция) |
|
| считывает следующий символ без его извлечения (публичный член-функция) |
|
| помещает символ в поток ввода (публичный член-функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_istream/unget