当我在没有任何输入的情况下按Enter键时,getline()
功能也会收到空白输入。如何修复它不允许空白输入(有字符和/或数字和/或符号)?
string Keyboard::getInput() const
{
string input;
getline(cin, input);
return input;
}
答案 0 :(得分:3)
只要输入为空,您就可以继续重新执行getline。例如:
string Keyboard::getInput() const
{
string input;
do {
getline(cin, input); //First, gets a line and stores in input
} while(input == "") //Checks if input is empty. If so, loop is repeated. if not, exits from the loop
return input;
}
答案 1 :(得分:2)
试试这个:
while(getline(cin, input))
{
if (input == "")
continue;
}
答案 2 :(得分:2)
string Keyboard::getInput() const
{
string input;
while (getline(cin, input))
{
if (input.empty())
{
cout << "Empty line." << endl;
}
else
{
/* Some Stuffs */
}
}
}