system
, _wsystem
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 NULL
der 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_errlist
und _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 _flushall
schließ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