XP Kommandozeilenargument im Hintergrund ausführen???
-
Hi Leute!
Wie mein Name es schon verrät, bin ich schon voll am Verzweifeln!!!
Ich schreibe gerade ein Programm auf der Kommandozeile, welches einen Ping auf eine bestimmte IP ausführt. (mit der Funktion system() )
Jetzt ist aber mein Problem, dass ich die Ausgabe, die Ping auf der Kommandozeile zurückgibt nicht angezeigt haben will!
Ich will lediglich auf den Rückgabewert (1 oder 0) von ping zugreifen!Weiß jemand eine Lösung?
Danke und Gruß
-
Leite bei deinem Aufruf die Ausgabe in eine Datei:
system("ping google.com > trash.txt");
-
Hey Danke, dat klappt ja optimal!!!!
Ein schönes Leben noch!
Gruß
-
Ich weiß, ihr denkt jetzt!
Was'n NOOB!
Ich hab nur nie was mit C(++) zu tun!Mein Frage:
Ich lese eine IP/Hostname über scanf ein:char IP[50]; scanf("%s", &IP);Und jetzt würde ich gerne die IP anstelle des X setzen!
system("ping X");Info: Ich arbeite mit Visual Studio 2005
Danke im Voraus!
-
Schau Dir mal snprintf an.
-
Hab ich!
Aber ich werd nicht schlau daraus!
wie soll ich sie jetzt anwenden?
Ich habs so versucht:
char IP[50]; char *vCOMMAND; scanf("%s", &IP); sprintf(&vCOMMAND, "ping %s -n 1 > log.txt", IP); system(&vCOMMAND);Geht aber nicht!

-
Erstens mußt du vCOMMAND nicht dereferenzieren (bei beiden Aufrufen) und zweitens solltest du dahinter auch etwas Speicherplatz bereitstellen:
char IP[50]; char vCOMMAND[50]; scanf("%s", &IP); sprintf(vCOMMAND, "ping %s -n 1 > log.txt", IP); system(vCOMMAND);
-
Danke! Wirklich Leute! Danke!
