Namespaces
Variants

system

From cppreference.net
Definiert im Header <stdlib.h>
int system ( const char * command ) ;

Ruft den Befehlprozessor der Host-Umgebung mit dem Parameter command auf. Gibt einen implementierungsdefinierten Wert zurück (üblicherweise den Wert, den das aufgerufene Programm zurückgibt).

Wenn command ein Nullzeiger ist, prüft es, ob die Host-Umgebung einen Befehlsprozessor hat und gibt einen Wert ungleich Null genau dann zurück, wenn der Befehlsprozessor existiert.

Inhaltsverzeichnis

Parameter

command - Zeichenkette, die den Befehl identifiziert, der im Befehlsprozessor ausgeführt werden soll. Wenn ein Nullzeiger übergeben wird, wird geprüft, ob der Befehlsprozessor existiert

Rückgabewert

Implementierungsdefinierter Wert. Wenn command ein Nullzeiger ist, wird ein Wert ungleich Null genau dann zurückgegeben, wenn der Kommando-Prozessor existiert.

Hinweise

Auf POSIX-Systemen kann der Rückgabewert mit WEXITSTATUS und WSTOPSIG zerlegt werden.

Die zugehörige POSIX-Funktion popen macht die von command erzeugte Ausgabe für den Aufrufer verfügbar.

Beispiel

In diesem Beispiel gibt es einen Systemaufruf des Unix-Befehls date +%A und einen Systemaufruf an den (möglicherweise installierten) gcc Compiler mit dem Kommandozeilenargument ( --version ):

#include <stdlib.h>
int main(void) {
    system("date +%A");
    system("gcc --version");
}

Mögliche Ausgabe:

Wednesday
gcc (GCC) 11.2.0
...

Referenzen

  • C17-Standard (ISO/IEC 9899:2018):
  • 7.22.4.8 Die system-Funktion (S: 257)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.22.4.8 Die system-Funktion (S: 353-354)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.20.4.6 Die system-Funktion (S. 317)
  • C89/C90-Standard (ISO/IEC 9899:1990):
  • 4.10.4.5 Die system-Funktion

Siehe auch