правильное использование cin.ignore()

218
21 марта 2018, 05:39

Хочу научится правильно использовать cin.ignore(), но что-то не могу найти нужной информации по этому методу.

Как я понимаю этот метод может вообще не принимать аргументов, принимать количество пропускаемых символов, либо количество пропускаемых символов и символ разделитель. Что делает метод в первом случае, когда он не принимает аргументов? Как заменить этим методом следующий код:

while (std::cin.get() != '\n')
    continue;

Т.е., я понимаю, что в cin.ignore() нужно передать два аргумента, при этом вторым должен быть '\n', но что передавать первым?
Ведь я не могу изначально знать какой длинны будет строка и сколько символов нужно будет пропустить: 10, 100, или 1000 или еще больше.

Answer 1

Пишите так:

cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

(т.е. задаете максимальное значение для типа streamsize)

READ ALSO
Получить QWidget из QVBoxLayout

Получить QWidget из QVBoxLayout

Всем привет! Такой вопрос, как мне достать определенный виджет из лойаута

190
Как открыть диалог QML в UI форме?

Как открыть диалог QML в UI форме?

Нашёл popup календарь реализованный с помощью QMLХочу его встроить в свою программу, но у меня основное окно программы ui форма

219
Алгоритм с помощью &lt;algorithm&gt;

Алгоритм с помощью <algorithm>

Я реализовал алгоритм по получению нового массива из старогоИ мне хотелось бы получить такой же результат но используя функционал библиотеки...

167
Как работает ссылка?

Как работает ссылка?

Друзья, помогите джуну в C++! Когда пишем

209