Udostępnij za pośrednictwem


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 NULLma 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_errlisti _sys_nerr.

Uwagi

Funkcja system przekazuje command do interpretera poleceń, który wykonuje ciąg jako polecenie systemu operacyjnego. systemCOMSPEC 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 systemmetody należy jawnie opróżnić dowolny strumień przy użyciu metody fflush lub _flushalllub zamknąć dowolny strumień.

_wsystem jest wersją szerokoznakową ; systemargument 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