system
, _wsystem
Wykonuje polecenie.
Ważne
Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
int system(
const char *command
);
int _wsystem(
const wchar_t *command
);
Parametry
command
Polecenie do wykonania.
Wartość zwracana
Jeśli command
element to i NULL
zostanie znaleziony interpreter poleceń, zwraca wartość niezerową. Jeśli interpreter poleceń nie zostanie znaleziony, zwraca wartość 0 i ustawia wartość errno
.ENOENT
Jeśli command
parametr nie NULL
ma wartości , system
zwraca wartość zwracaną przez interpreter poleceń. Zwraca wartość 0 tylko wtedy, gdy interpreter poleceń zwraca wartość 0. Zwracana wartość -1 wskazuje błąd i errno
jest ustawiona na jedną z następujących wartości:
Wartość | Opis |
---|---|
E2BIG |
Lista argumentów (zależna od systemu) jest zbyt duża. |
ENOENT |
Nie można odnaleźć interpretera poleceń. |
ENOEXEC |
Nie można wykonać pliku interpretera poleceń, ponieważ format jest nieprawidłowy. |
ENOMEM |
Za mało pamięci jest dostępne do wykonania polecenia; lub dostępna pamięć została uszkodzona; lub istnieje nieprawidłowy blok, który wskazuje, że proces wywołujący został przydzielony niepoprawnie. |
Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
Funkcja system
przekazuje command
do interpretera poleceń, który wykonuje ciąg jako polecenie systemu operacyjnego. system
COMSPEC
używa zmiennych środowiskowych i PATH
do lokalizowania pliku interpretera poleceń CMD.exe. Jeśli command
parametr to NULL
, funkcja sprawdza, czy interpreter poleceń istnieje.
Przed wywołaniem system
metody należy jawnie opróżnić dowolny strumień przy użyciu metody fflush
lub _flushall
lub zamknąć dowolny strumień.
_wsystem
jest wersją szerokoznakową ; system
argument to command
_wsystem
ciąg o szerokim znaku. Te funkcje zachowują się identycznie inaczej.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania procedur tekstu ogólnego
TCHAR.H rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_tsystem |
system |
system |
_wsystem |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
system |
<process.h> lub <stdlib.h> |
_wsystem |
<process.h> lub lub <stdlib.h> <wchar.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
W tym przykładzie użyto system
metody do wpisywania pliku tekstowego.
// crt_system.c
#include <process.h>
int main( void )
{
system( "type crt_system.txt" );
}
Dane wejściowe: crt_system.txt
Line one.
Line two.
Wynik
Line one.
Line two.
Zobacz też
Kontrola procesu i środowiska
_exec
, _wexec
funkcje
exit
, , _Exit
_exit
_flushall
_spawn
, _wspawn
funkcje