return system in schleife
-
hallo.
hallo
ich moechte einen befehl mehrmals hintereinander ausführen.
wenn ich das durch ein schleife mache funktioniert das nicht.konkret geht es um den befehl net.exe
..
int i=1;
while(i<=3)
{
return system ("%windir%/befehl ");
i=i+1;
}
}bitte um hilfe
danke
lg
michi
-
laß mal das return vor Deinem system-Aufruf weg.
-
Hi,
1. nimm bitte die Code tags cpp [ C P P ] [ / C P P] (ohne Leerzeichen)
2. geht doch:for(unsigned int i = 0; i < 3; ++i) system("%windir%/system32/net.exe send Zielhostname Nachricht für dich du Held!");
-
ja stimmt.
so funktioniert es.Lag der fehler in meiner while schleife?
danke
lg
michi
-
nein am 'return' so wie es jester gesagt hat.
-
ich hatte zu meinem thema noch eine zustazfrage.
wenn ich
int main(int argc, char *argv[]){
parameter einlese.
wie loese ich es am besten, dass diese vom system ausgefuehrt werden.
system("befehl argv[0]")
also befehl + zusatzlicher parameter
danke
michi
-
#include <cstdlib> #include <sstream> // für std::stringstream int main(int argc, char **argv) { // argv[0] enthält den namen der ausführbaren datei + Pfad z.B. "C:\\foobar.exe" std::stringstream str; // Funktioniert wie bei cout str << "befehl " << argv[1] << " " << argv[2] << endl; // gibt einen const char * zurück (was von system() erwartet wird) std::system(str.str().c_str()); return 0; }
MfG eViLiSSiMo
-
Noch ein Hinweis:
Teste vorher argc auf die anzahl der argumente
argc _muss_ immer mindestens 1 sein !
-
Danke eViLiSSiMo!
hab damit jetzt genau das erreicht was ich wollte.
dieser stringsream ist echt praktisch.schoenen abend noch
lg
michi
-
eViLiSSiMo schrieb:
Noch ein Hinweis:
Teste vorher argc auf die anzahl der argumente
argc _muss_ immer mindestens 1 sein !
Weil der Programmname schon der erste Parameter ist