Есть ли C++ версия ungetc?

Есть ли C++ версия ungetc?

То есть я могу вернуть персонажа обратно в istream?

3 ответа

Решение

Да. istream:: putback аналогичен ungetc, за исключением использования unget ():

Вы не можете лгать с unget(). Он "отрывает" последнего прочитанного персонажа. Вы можете лгать с задержкой (с). Вы можете "вернуть" некоторый символ, отличный от последнего прочитанного символа. Иногда может быть полезно вернуть символ, отличный от последнего прочитанного.

Кроме того, если базовый буфер чтения действительно имеет возможность буферизации, вы можете "отложить" более одного символа. Я думаю, что ungetc() ограничен одним символом.

Вы можете вернуть символ обратно с помощью функции istream::putback. Вы можете даже поставить другого персонажа, если хотите.

Другие вопросы по тегам