Получить строку с ++
У меня проблема с получением строки. я использую
getline(cin,string);
но есть какая-то ошибка, и она пропускает строку, когда я нажимаю клавишу ввода, есть ли решение этой проблемы, или, возможно, другая функция для получения строки с пустыми пробелами?
1 ответ
Я думаю, что вы делаете cin >> someVar
где-то, прежде чем сделать getline()
,
cin >> someVar
Не читает всю строку, но останавливается на первом пробеле и символе новой строки \n
остается неиспользованным., что затем вызывает пропуск строки в getline()
Если это так,
Чтобы это исправить, нужно добавить cin.ignore()
заявление перед getline()
потреблять \n
символ новой строки (или любые другие дополнительные символы), оставленные во входном потоке >>
поточный экстрактор.