何も入力せずにEnterキーを押すと、getline()
関数も空白の入力を受け取ります。空白入力 (文字および/または数字および/または記号を含む) を許可しないように修正するには?
string Keyboard::getInput() const
{
string input;
getline(cin, input);
return input;
}
何も入力せずにEnterキーを押すと、getline()
関数も空白の入力を受け取ります。空白入力 (文字および/または数字および/または記号を含む) を許可しないように修正するには?
string Keyboard::getInput() const
{
string input;
getline(cin, input);
return input;
}
入力が空白である限り、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;
}
これを試して:
while(getline(cin, input))
{
if (input == "")
continue;
}
string Keyboard::getInput() const
{
string input;
while (getline(cin, input))
{
if (input.empty())
{
cout << "Empty line." << endl;
}
else
{
/* Some Stuffs */
}
}
}