Anzeige:
Ergebnis 1 bis 2 von 2

Thema: C: system()

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.11.2005
    Beiträge
    94

    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?

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    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/...ns/system.html

    P.S.: Oft ist es besser system nicht zu verwenden. Unter anderem genau deshalb, weil es eben Implementierungsabhängig ist, was geschieht.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •