Udostępnij za pośrednictwem


system, _wsystem

Wykonuje polecenie.

Ważna uwagaWażne

Ten interfejs API nie można używać w aplikacji, których wykonywanie w Środowisko wykonawcze systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW.

int system(
   const char *command 
);
int _wsystem(
   const wchar_t *command 
);

Parametry

  • command
    Polecenie do wykonania.

Wartość zwracana

Jeśli command jest NULL i interpretera poleceń zostanie znaleziony, zwraca wartość różną od zera.Jeśli nie można odnaleźć interpretera poleceń, zwraca wartość 0 i ustawia errno do ENOENT.Jeśli command nie jest NULL, system zwraca wartość, która jest zwracana przez interpreter poleceń.Zwraca wartość 0 tylko wtedy, gdy interpretera poleceń zwraca wartość 0.Zwracana wartość wynosząca-1 wskazuje błąd, i errno jest ustawiona na jeden z następujących wartości:

  • E2BIG
    Lista argumentów (który jest zależny od systemu) jest za duży.

  • ENOENT
    Nie można odnaleźć interpretera poleceń.

  • ENOEXEC
    Nie można wykonać plik interpretera poleceń, ponieważ ten format nie jest prawidłowy.

  • ENOMEM
    Za mało pamięci jest dostępna w celu wykonania polecenia; lub dostępną pamięć została uszkodzona; lub istnieje nieprawidłowy blok, która wskazuje, że proces, który wykonuje wywołanie nie został poprawnie przydzielony.

Zobacz _doserrno, errno, _sys_errlist i _sys_nerr Aby uzyskać więcej informacji o tych kodów zwrotnych.

Uwagi

system Funkcja przebiegów command do interpretera poleceń, które wykonuje ciąg jak polecenie systemu operacyjnego.systemużywa COMSPEC i PATH zmiennych środowiskowych, aby zlokalizować interpretera poleceń plik CMD.exe.Jeśli command jest NULL, funkcja po prostu sprawdza, czy istnieje interpretera poleceń.

Należy jawnie flush — za pomocą fflush lub _flushall— lub zamknąć każdego strumienia, zanim zadzwonisz do system.

_wsystemjest ona szerokich znaków do system; command argument _wsystem jest ciągiem szerokich znaków.Funkcje te działają identycznie w przeciwnym razie.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rozpoczęto wykonywanie procedury h

_UNICODE & _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tsystem

system

system

_wsystem

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

system

<process.h> lub <stdlib.h>

_wsystem

<process.h> lub <stdlib.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz Zgodność.

Przykład

W poniższym przykładzie użyto system typ 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.

Dane wyjściowe

Line one.
Line two.

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Procedury kontroli środowiska

_exec, _wexec — Funkcje

exit, _exit

_flushall

_spawn, _wspawn — Funkcje