Für unsere Aufgabe in der Schule müssen wir 2,3 Millionen Passwörter in einem dynamischen Zeichen speichern. Ich muss das Passwort des Benutzers gegen alle diese Kennwörter überprüfen, um sicherzustellen, dass es nicht auf der Liste ist.Kann man Char * mit einer String-Variablen vergleichen?
Wenn das Passwort des Benutzers auf der Liste steht, verlieren sie einen Punkt aufgrund der Stärke ihres Passworts.
Ich habe dies versucht:
int i = 1, maxSize = 2300000, passwordList = 1;
char* passCommon = NULL;
passCommon = new char[mazSize];
string password = "JohnDoe"; // Use this for example.
for (i=0; i > maxSize; i++)
{
if(password == passCommon[i])
{
passwordList = 0;
break;
}
}
Was mache ich falsch?
Verwenden Sie strcmp zum Vergleichen von 'char *' andernfalls überprüfen Sie die Zeiger für die Gleichheit nicht die Strings gespeichert an diesen Adressen – shuttle87
Verwenden Sie einfach eine 'std :: unordered_set' für den Satz von gemeinsamen Passwörtern. –
Ohne Bezug, diese Schleife wird nie funktionieren. Der Komparator ist rückwärts. – WhozCraig