Оператор извлечения C ++: как узнать количество прочитанных цифр?

Я прочитал целое число:

is >> myInteger;

Теперь я хочу узнать, сколько цифр было прочитано (я говорю о возможных ведущих нулях). Как я могу это сделать?

1

Решение

Вы можете:

  • получить значение в виде строки, а затем проанализировать его отдельно, по вашему желанию (проверить длину, считать нули и т. д.).

  • используйте для этого is.tellg; Имейте в виду, что TellG даст вам буферные позиции, а не то, что было в этих позициях (это могут быть пробелы или нули)

  • читайте буфер за символом, используя is.get, затем обрабатывайте значения в соответствии с вашими потребностями.

5

Другие решения

Вы могли бы получить значение is.tellg () прежде чем вы передадите целое число, затем получите его снова и найдите разницу.

РЕДАКТИРОВАТЬНесмотря на то, что, как указано в комментариях, будет просто сказано, сколько элементов потока было использовано, некоторые из которых могут быть пробелами.

2

По вопросам рекламы [email protected]