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

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

1 голос
/ 02 августа 2011

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

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

Ответы [ 3 ]

4 голосов
/ 02 августа 2011

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

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

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

2 голосов
/ 02 августа 2011

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

0 голосов
/ 02 августа 2011
...