Arham Anees Ответов: 1

Как игнорировать '\n' при использовании ключевых обнаружений C++


я использую функцию меню m в консольном приложении c++. он выбирает при нажатии клавиши enter, но я вызываю его обратно, а затем автоматически выбирает первый вариант. как я могу очистить входной буфер так, чтобы '\n' игнорировался.
например у меня есть 2 меню
<----main menu----->
Create
Display
Delete
Exit

<---- create SubMenu----->
Manager
Labour
Back


в этом меню, если я выберу опцию Создать, то менеджер будет выбран атомарно.

Что я уже пробовал:

я пытался
<pre lang="c++">
cin.ignore();
cin.ignore(/*length*/,'\n');
cin.ignore('\0');
cin.sync();

но ничего не помогало.

1 Ответов

Рейтинг:
0

Richard MacCutchan

Воспользуйся cin.getline().

класс basic_istream | Microsoft Docs[^]


Arham Anees

нет такой функции. cin.readsome() вы это имеете в виду?

Richard MacCutchan

Извините, должно быть getline(). Слишком много разных языков в моей голове.