Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何检查一个字符串是否不等于数组中的另一个字符串?_C++_Arrays_Equals_String Comparison - Fatal编程技术网

C++ 如何检查一个字符串是否不等于数组中的另一个字符串?

C++ 如何检查一个字符串是否不等于数组中的另一个字符串?,c++,arrays,equals,string-comparison,C++,Arrays,Equals,String Comparison,在代码的第一部分中,它检查用户输入的用户名和密码是否匹配,如果匹配,则我们登录客户端。这部分代码很好。它在应该的时候工作 第一个代码: //If the user entered a username & pass that matches a stored user & pass if (incomingClients[i].username == existingClients[e].username) { if (incomingClients[i].passwor

在代码的第一部分中,它检查用户输入的用户名和密码是否匹配,如果匹配,则我们登录客户端。这部分代码很好。它在应该的时候工作

第一个代码:

//If the user entered a username & pass that matches a stored user & pass
if (incomingClients[i].username == existingClients[e].username) {
    if (incomingClients[i].password == existingClients[e].password) {
        //LogInClient();
    }
}
在第二部分中,应该检查用户是否输入了不存在的用户名,如果不存在,则告诉用户他/她输入了不存在的用户名

第二个代码:

//If the user entered a username that DOES NOT match a stored user
if (incomingClients[i].username != existingClients[e].username) {
    //NotifyClientUserDoesntExist();
}
我在这里遇到的问题是,第二个代码总是正确的。为什么会这样

如果我输入一个存在的用户名,第一个代码将执行,但第二个代码也会执行。我只希望在incoming.username不等于existing.username时执行第二个代码


提前谢谢您。

因为您的支票可能在for lile循环中

for (int e = 0; e < existingClients.size(); ++e) {
  if (incomingClients[i].username == existingClients[e].username)
    if (...) {

    }

  if (incomingClients[i].username != existingClients[e].username) {
    ..
  }
}
因此,如果任何
现有客户端
具有正确的用户名,则存在登录,如果存在且密码匹配,则登录是正确的。

为什么不这样做

if (incomingClients[i].username == existingClients[e].username) {
    if (incomingClients[i].password == existingClients[e].password) {
        //LogInClient();
    }
}
else {
    //NotifyClientUserDoesntExist();
}
请出示证件。您甚至还没有告诉我们
用户名的类型,这一点相当重要。
if (incomingClients[i].username == existingClients[e].username) {
    if (incomingClients[i].password == existingClients[e].password) {
        //LogInClient();
    }
}
else {
    //NotifyClientUserDoesntExist();
}