Article View: de.comp.lang.c++
Article #605Re: Hilfe: Kommandozeilenparameter
From: Karl-Heinz Krause
Date: Tue, 17 Oct 1995 17:42
Date: Tue, 17 Oct 1995 17:42
31 lines
1320 bytes
1320 bytes
Am 16. Okt 1995 schrieb Roman Bloeth (Roman@pussycat.ping.de):
> Wenn ich aus dem Programm heraus mittels 'cout' das an main(...)
> uebergebene Passwort auf dem Bildschirm ausgeben lasse, wird es auch
> korrekt angezeigt, frage ich jedoch die Korrektheit des Passwortes mittels
> if ( argv[1] == "passwort")
> ab, so wird niemals ein true zurueckgeliefert...
> Was mache ich falsch?!
Man kann in C++ (und C) Strings nicht mit "==" vergleichen. Strings
werden in C++ als "Zeiger auf char" behandelt. Der Vergleich mit "=="
macht also einen Adressenvergleich, und der liefert natürlich nie true!
Stattdessen:
#include <string.h>
if ( strcmp(argv[1], "passwort") == 0 ) {
// Paßwort stimmt
}
else {
// leider nicht
}
Karl-Heinz Krause
Technical Details
Message-ID:
<460ptl$ns2@news00.btx.dtag.de>Path:
arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mailReferences:
<5vyUWUQKjQB@pussycat.ping.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail From: Krause@btx.dtag.de (Karl-Heinz Krause) Newsgroups: de.comp.lang.c++ Subject: Re: Hilfe: Kommandozeilenparameter Date: 17 Oct 1995 17:42:13 GMT Organization: Telekom Online Internet Gateway Message-ID: <460ptl$ns2@news00.btx.dtag.de> References: <5vyUWUQKjQB@pussycat.ping.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause) X-Newsreader: Forte Free Agent 1.0.82