std::system
| 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
` 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
|