Passwort eingabe
lima-city → Forum → Programmiersprachen → C/C++ und D
-
Hi,
ich hab ein kleines Script in c geschrieben, bei dem man am Anfang ein Password eingeben muss. Wenn ich jetzt aber das richtige Passwort, Password123, eintippe, dann geht das nicht, obwohl die for-Schleife ja dann eigentlich beendet werden sollte, oder?
Der Code:
#include <stdio.h> #include <stdlib.h> int main(void) { char password[40] = "password123"; char str[40]; int i; FILE *fp; for (i = 0; i < 3 && str != password; i++) { printf("Password:"); gets(str); } if (str == password) { printf("ok"); getch(); } // ....... }
K?nnt ihr mir weiterhelfen? Ist etwas falsch am code?
mfg,
hr -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
An zwei Stellen:
for (i = 0; i < 3 && str != password; i++)
und
if (str == password)
password ist ein char-Array und kann mit normalen Operatoren nichts anfangen (ausser Addressvergleiche). Benutze die Funktionen strcmp() und deren Verwandte, um zwei char-Arrays zu vergleichen.
Doku zu strcmp():
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_strcmp.2c_.wcscmp.2c_._mbscmp.asp
Liste von Funktionen f?r char-Arrays:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_string_manipulation.asp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage