Archiv verlassen und diese Seite im Standarddesign anzeigen : C: system()
Kann man in einem system(); Aufruf auch gleich mehrere Befehle ausführen?
Ich habe schon meherere Trennzeichen (Leerzeichen, Newline, Strichpunkt) versucht, doch es wird immer der ganze String ausgegeben:
system("echo -n 'hallo'; ls -l /tmp; echo -n 'bye'");
Geht das irgendwie?
locus vivendi
21-01-2006, 12:39
Kann man in einem system(); Aufruf auch gleich mehrere Befehle ausführen?
Die Frage ergibt ohne Angabe des Systems auf dem das läuft keinen Sinn, weil der C++ (und der C) -Standard für "system" implementierungsbedingtes Verhalten vorsieht. Ich vermute auf Grund deines Code-Schnippsels, dass es auf einem Unix-artigem System laufen soll, deshalb kannst du ja mal hier nachlesen was Posix definiert:
http://www.opengroup.org/onlinepubs/009695399/functions/system.html
P.S.: Oft ist es besser system nicht zu verwenden. Unter anderem genau deshalb, weil es eben Implementierungsabhängig ist, was geschieht.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.