问题描述
我正在尝试输入“国家名称”之类的信息。 如果仅按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();