std::basic_istream<CharT,Traits>:: unget
|
basic_istream
&
unget
(
)
;
|
||
|
basic_istream
&
unget
(
)
;
|
||
Делает последний извлеченный символ снова доступным.
Сначала сбрасывает
eofbit
. Затем,
(начиная с C++11)
unget
ведёт себя как
UnformattedInputFunction
. После создания и проверки сторожевого объекта, если установлены какие-либо
ios_base::iostate
флаги, функция устанавливает
failbit
и возвращается. В противном случае вызывает
rdbuf
(
)
-
>
sungetc
(
)
.
Если rdbuf ( ) - > sungetc ( ) возвращает Traits :: eof ( ) , вызывает setstate ( badbit ) .
В любом случае, устанавливает счётчик
gcount()
в ноль.
Содержание |
Параметры
(нет)
Возвращаемое значение
* this
Исключения
Если внутренняя операция выбрасывает исключение, оно перехватывается и
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>
)
|
|
|
извлекает символы
(публичная функция-член) |
|
|
читает следующий символ без его извлечения
(публичная функция-член) |
|
|
помещает символ обратно во входной поток
(публичная функция-член) |