Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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