我这里有一个奇怪的问题。我使用下面的代码输入2个字符串作为输入:
std::string input1, input2;
std::cout<<"Please enter name:";
std::getline(std::cin, input1);
std::cout<<"Address: ";
std::getline(std::cin,input2);
我遇到的问题是,不是一次只显示一个,而是一次显示,所以输出如下:
Please enter name: Address:
因此,字符串都不会得到任何输入。
任何想法可能是什么问题?
答案 0 :(得分:3)
尝试在getline之前使用cin.ignore()//忽略用户按下回车键后留下的\ n
答案 1 :(得分:0)
不要使用
cin.ignore();
因为在循环中它也会忽略您所需的输入。使用
cin>>ws;
在getline之前。 ws表示空格,这将忽略程序中的空格,代码将正常工作。