argv Überprüfung!!
-
Kann man irgendwie Prüfen ob
int main(int argc, char *argv[])
z.B argv[2] oder [23] überhaupt ein Zeichen enthält???
Habe mir das ganza mal ausgeben lassen:
Also wenn das Feld nicht belegt ist, ist es null aber wie kann man abfragen ob es == null ist???Das bekomme ich nicht hin!
-
if( argv[23] == NULL )
?
Der Parameter argc ( Argument Counter ) gibt dir übrigens
bereits an wieviele Argumente übergeben wurden.
Somit ist ein Vergleich auf NULL unnötig.
-
Storm.Xapek.de schrieb:
Somit ist ein Vergleich auf NULL unnötig.
Nicht nur unnötig, sondern undefiniert. Wer garantiert denn das irgendjemand hinter die Argumente noch eine infinite Menge von Nullzeigern plaziert?
-
-
Aber das Problem ist das ich das Zeichen danach prüfen muss, ob es ein Integer ist!
Also lasse ich eine for Schleife von 0 bis argc laufen und bei auftreten eines Zeichens z.B bei argv[2] muss ich prüfen ob bei argv[2+1] ein Integer Wert ist!
Das roblem bei der Sache ist das wenn dort kein Zeichen ist kommt ein Fehler!
Desshalb will ich abfragen ob das Feld überhaupt ungleich null ist!!
-
Thes-One schrieb:
Aber das Problem ist das ich das Zeichen danach prüfen muss, ob es ein Integer ist!
Du meinst, ob ne Ziffer drinsteht? Das Zeichen ist nämlich ganz sicher kein Integer. Guck dir mal isdigit() aus <cmath> an.
Also lasse ich eine for Schleife von 0 bis argc laufen und bei auftreten eines Zeichens z.B bei argv[2] muss ich prüfen ob bei argv[2+1] ein Integer Wert ist!
Dann solltest du vielleicht prüfen, ob 2+1 < argc ist. Und die Schleife darf nicht bis i <= argc laufen.
-
Danke danke!
Jetzt komm ich erstmal weiter!