Namespaces
Variants

std::system

Aus de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch- und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabeltypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
Definiert im Header <cstdlib>
int system( const char* command );

Ruft den Befehlsprozessor der Host-Umgebung auf (z. B. /bin/sh, cmd.exe) mit dem Parameter command auf. Gibt einen implementierungsdefinierten Wert zurück (normalerweise den Wert, den das aufgerufene Programm zurückgibt).

Falls command ein Nullzeiger ist, wird überprüft, ob die Host-Umgebung einen Befehlsprozessor hat, und es wird ein Wert ungleich Null zurückgegeben, genau dann, wenn der Befehlsprozessor existiert.

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