如何在C ++中检测单个Enter键?

问题描述

我正在尝试输入“国家名称”之类的信息。 如果仅按Enter,则“国家名称”应设置为认国家名称(例如,美国)。否则,输入字符串将设置为国家名称。我对如何将输入检测为单个Enter键或普通字符串感到困惑。

解决方法

使用std::getline()读取整行的用户输入,直到 ENTER 键(将为您读取并丢弃)。如果返回的字符串为空,则根据需要将其替换为默认值。

std::cout << "Country name: ";

std::countryName;
std::getline(std::cin,countryName);

if (countryName.empty())
    countryName = "USA";
,

尝试一下

std::cout << "Country name: ";
std::getline(std::cin,countryName);
if(countryName==""){
    countryName="USA"
}

也使用 cin.ignore(); (如果必须在下一行中使用getline()),则在每次使用cin >>之后。

您也可以使用 cin.sync(); cin.get();