我正在创建一个程序,允许用户键入他们的用户名和密码。问题是,当系统提示“输入用户名:”并且我按回车键时,它会打印出“名称不能包含空白”
但是,如果我按了几个空格键并按回车键并在此之后将其设为空白字段,它会跳过提示用户输入密码而不打印出“名称不能包含空白”并提示用户再次输入用户名。
我应该如何更改我的代码以确保即使我按空格键并按 Enter,它仍会提示用户再次输入用户名?请指教。谢谢
代码
string userName=" ";
string password;
cout << "Enter UserName:";
while (getline(cin, userName)) {
if (userName.empty()) {
cout << "Name cannot contain a blank."<< endl;
cout << "Enter userName:";
userName = userName;
//throw errorMsg;
}
if(!userName.empty()) {
cout << "Enter Password";
}
}