[英]Password String compare [C++]
尝试执行密码验证方法以允许用户使用我的程序。
我想知道如何实现这样的代码,允许程序比较两个字符串,向下查找所有字母和数字以确保所有内容都匹配,然后允许用户在成功输入密码后访问程序控件。
因此,例如,如果密码是“h3llo”并且有人输入了“he”,则程序将输出一条错误消息,指出密码不正确。
这是我的开始:
void checkPassword() {
cout << "Enter password: ";
string password = "H3110W0r1d";
int length = password.length();
int i;
string input;
cin >> input;
for (i = 0; i < length; i ++) {
if ((input[i].compare(length[i]))) == 1) {
if ((input[i].compare(length[i])) == 0) {
cout << "Error! Wrong password!";
} else {
cout << "Welcome!";
}
}
我尝试了很多不同的方法,但是,我似乎无法让它发挥作用。 对我做错了什么有帮助吗?
简单的一一比较。
void checkPassword() {
cout << "Enter password: ";
string password = "H3110W0r1d";
int length = password.length();
int i;
string input;
bool ok = true;
cin >> input;
if (input.length() != password.length()) {
ok = false;
} else {
for (i = 0; i < length; i ++) {
if (input[i] != password[i]) {
ok = false;
break;
}
}
}
if (ok) {
cout << "Welcome!";
} else {
cout << "Error! Wrong password!";
}
}
或者更简单
void checkPassword() {
cout << "Enter password: ";
string password = "H3110W0r1d";
string input;
cin >> input;
if (input == password) {
cout << "Welcome!";
} else {
cout << "Error! Wrong password!";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.