Problem mit strtok
-
Also ich habe folgendes Problem:
Ich habe einen String der für gewöhnlich so aussieht:Benutzername#Passwort#
Wenn ich jetzt mit:
char *szNickname; char *szPassword; // allocate szNickname = new char[64]; szPassword = new char[16]; // extract nickname szNickname = strtok(szData, "#"); // extract password szPassword = strtok(NULL, "#");
die 2 Sachen auslese klappt das wirklich gut und ich könnte mit strcmp das Passwort mit einem String vergleichen.
Jetzt kann es aber vorkommen das der String vom Anfang so aussieht:
Benutzername##
weil der User kein Passwort eingab.
Komm ich jetzt mit strcmp stürtzt das Programm ab.
Was kann ich dagegen machen??
danke!
cu para
-
Original erstellt von paranoiac.org:
**...
weil der User kein Passwort eingab.Komm ich jetzt mit strcmp stürtzt das Programm ab.
Was kann ich dagegen machen??
...**strtok() liefert in diesem Fall einen NULL-Zeiger zurück. Das musst Du prüfen:
if (szPasswort && strcmp(szPasswort,"geheim") == 0) { /* bla */ }
-- ungetestet --
Wenn ich das richtig sehe, produziert Dein Programm Memory Leaks.
[ Dieser Beitrag wurde am 27.12.2002 um 19:39 Uhr von mady editiert. ]
-
was bringt das allocate?