Я изучаю C++ сейчас, и сейчас я пытаюсь получить вход с помощью cin и getline. Однако getline каким-то образом игнорирует числа на входе. Я попытался разместить cin.clear() и cin.ignore(), но проблема не устранена. Я что-то делаю неправильно?getline cin игнорирует первый номер с ввода
Вот мой код:
string test;
int main()
{
std::cout << "Please enter a date: ";
std::cin >> test;
std::getline(std::cin, test);
cout << test << endl;
}
Вот результат:
Please enter a date: 1 January 2015
January 2015
Press any key to continue . . .
Так почему же понижение без комментариев здесь? Вопрос ясен. Граммер достаточно хорош, (да, название может использовать небольшую помощь в капитализации.) Код явно написан как код. Для тех из нас, кто изучает C/C++, полезно видеть возможности для улучшения. Кажется, это не домашнее задание. Похоже, что в советах по вопросам, которые задают на StackOverflow. Итак, почему downvotes? Что мне не хватает? – zipzit
@zipzit Простое использование отладчика или печать 'test' на консоли в промежутке между чтениями показало бы, в чем проблема. –
Er, no. DsAjw сделал именно это. Он распечатал тест на консоль. Он не получил ожидаемых результатов. Это показало ему, что возникла проблема, но она не дистанционно обращается к ПОЧЕМУ, что проблема возникла. Я все еще сбитый с толку вниз. более 1/3 из тех, кто читает эту проблему, проголосовали за понижение этого вопроса. Я думал, это аргументировано и хорошо сказано. (но что я знаю, вздох ...) Он ясно спросил: «Я что-то делаю неправильно?» – zipzit