Проблема заключается в том, что, так как вы не имеете endl
, буфер еще не покраснел, поэтому вход становится вывод, что вы печатаете. Добавить endl
после getline
:
#include <iostream>
#include <string>
int main() {
std::string title;
std::cout << "Please enter title: "<<std::endl;
std::getline(std::cin, title);
return 0;
}
Если вы действительно хотите, чтобы вход, чтобы быть рядом подсказке, и вы должны использовать getline
, имея в виду, что вы, вероятно, получите «Пожалуйста, введите название» приглашение Кроме того, вы можете сделать это:
#include <iostream>
#include <string>
int main() {
std::string title;
std::cout << "Please enter title: "<<std::flush;
std::getline(std::cin, title);
return 0;
}
Пожалуйста, напишите [MCVE] (http://stackoverflow.com/help/mcve). – erip