Получить строку с ++

У меня проблема с получением строки. я использую

getline(cin,string);

но есть какая-то ошибка, и она пропускает строку, когда я нажимаю клавишу ввода, есть ли решение этой проблемы, или, возможно, другая функция для получения строки с пустыми пробелами?

1 ответ

Я думаю, что вы делаете cin >> someVar где-то, прежде чем сделать getline(),

cin >> someVar
Не читает всю строку, но останавливается на первом пробеле и символе новой строки \n остается неиспользованным., что затем вызывает пропуск строки в getline()

Если это так,

Чтобы это исправить, нужно добавить cin.ignore() заявление перед getline() потреблять \n символ новой строки (или любые другие дополнительные символы), оставленные во входном потоке >> поточный экстрактор.

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