c++ getline ();下面显示一个

C++ getline(); displays one below

本文关键字:一个 显示 getline c++      更新时间:2023-10-16

我这里有一个奇怪的问题。我使用下面的代码获得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:

结果两个字符串都没有得到任何输入。

你知道是什么问题吗?

尝试在getline之前使用cin.ignore()//忽略用户按enter键后留下的n

不要使用

cin.ignore();

因为在循环中它也会忽略你需要的输入。使用

cin>>ws;

getline之前。w表示空白,这将忽略程序中的空白,代码将正常工作。

相关文章: