Namespaces
Variants

std:: system

From cppreference.net
Utilities library
Definiert in Header <cstdlib>
int system ( const char * command ) ;

Ruft den Kommando-Prozessor der Host-Umgebung auf (z.B. /bin/sh , cmd.exe ) mit dem Parameter command . 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 im Befehlsprozessor auszuführenden Befehl identifiziert. 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.

Ein explizites Leeren von std::cout ist ebenfalls notwendig vor einem Aufruf von std::system , wenn der gestartete Prozess Bildschirm-E/A durchführt.

Beispiel

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::system("ls -l >test.txt"); // executes the UNIX command "ls -l >test.txt"
    std::cout << std::ifstream("test.txt").rdbuf();
}

Mögliche Ausgabe:

total 16
-rwxr-xr-x 1 2001 2000 8859 Sep 30 20:52 a.out
-rw-rw-rw- 1 2001 2000  161 Sep 30 20:52 main.cpp
-rw-r--r-- 1 2001 2000    0 Sep 30 20:52 test.txt
**Übersetzte Elemente:** - "Run this code" → "Diesen Code ausführen" - "Possible output:" → "Mögliche Ausgabe:" **Nicht übersetzte Elemente:** - Alle HTML-Tags und Attribute - Code innerhalb der `
` und `` Tags (C++ Code und UNIX-Befehlsausgabe)
- C++ spezifische Begriffe und Kommentare im Code
- UNIX-Befehle und deren Ausgabe

Siehe auch

C-Dokumentation für system