Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Führt einen Befehl aus.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
int system(
const char *command
);
int _wsystem(
const wchar_t *command
);
Parameter
command
Der Befehl, der ausgeführt werden soll.
Rückgabewert
Gibt einen Wert ungleich 0 zurück, wenn command auf NULL festgelegt ist und der Befehlsinterpreter gefunden wird. Wenn der Befehlsdolmetscher nicht gefunden wird, wird 0 zurückgegeben und auf errno ENOENT. Ist command dies nicht NULLder Fehler, system gibt den Wert zurück, der vom Befehlsdolmetscher zurückgegeben wird. Gibt den Wert 0 nur zurück, wenn der Befehlsinterpreter den Wert 0 zurückgibt. Ein Rückgabewert von -1 gibt einen Fehler an und errno wird auf einen der folgenden Werte festgelegt:
| Wert | Beschreibung |
|---|---|
E2BIG |
Die Argumentliste (systemabhängig) ist zu groß. |
ENOENT |
Der Befehlsdolmetscher kann nicht gefunden werden. |
ENOEXEC |
Die Befehlsdolmetscherdatei kann nicht ausgeführt werden, da das Format ungültig ist. |
ENOMEM |
Nicht genügend Arbeitsspeicher steht zum Ausführen des Befehls zur Verfügung. oder verfügbarer Arbeitsspeicher wurde beschädigt; oder ein nicht gültiger Block vorhanden, der angibt, dass der aufrufende Prozess falsch zugeordnet wurde. |
Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno, _sys_errlistund _sys_nerr.errno
Hinweise
Die system-Funktion übergibt command an den Befehlsinterpreter, der die Zeichenfolge als Betriebssystembefehl ausführt. system verwendet die COMSPEC- und PATH-Umgebungsvariablen, um nach der Befehlsinterpreterdatei CMD.exe zu suchen. Wenn command auf NULL festgelegt ist, überprüft die Funktion lediglich, ob der Befehlsinterpreter vorhanden ist.
Sie müssen einen Datenstrom explizit leeren, indem Sie einen Datenstrom verwenden fflush oder _flushallschließen, bevor Sie anrufen system.
_wsystem ist eine Breitzeichenversion von system. Das command -Argument für _wsystem ist eine Breitzeichenfolge. Anderenfalls verhalten sich diese Funktionen identisch.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
TCHAR.H-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
|---|---|---|---|
_tsystem |
system |
system |
_wsystem |
Anforderungen
| Routine | Erforderlicher Header |
|---|---|
system |
<process.h> oder <stdlib.h> |
_wsystem |
<process.h> oder <stdlib.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
In diesem Beispiel wird system zum Eingeben einer Textdatei verwendet.
// crt_system.c
#include <process.h>
int main( void )
{
system( "type crt_system.txt" );
}
Input: crt_system.txt
Line one.
Line two.
Output
Line one.
Line two.
Siehe auch
Prozess- und Umgebungskontrolle
_exec, _wexec Funktionen
exit, _Exit_exit
_flushall
_spawn, _wspawn Funktionen