Freigeben über


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 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