std:: system
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Program termination | |||||||||||||||||||||
|
|||||||||||||||||||||
| Unreachable control flow | |||||||||||||||||||||
|
(C++23)
|
|||||||||||||||||||||
| Communicating with the environment | |||||||||||||||||||||
|
|||||||||||||||||||||
| Signals | |||||||||||||||||||||
| Signal types | |||||||||||||||||||||
| Non-local jumps | |||||||||||||||||||||
| Types | |||||||||||||||||||||
|
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
` 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
|