system, _wsystem

Esegue un comando.

Importante

Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).

Sintassi

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

Parametri

command
Comando da eseguire.

Valore restituito

Se command è NULL e viene trovato l'interprete dei comandi, restituisce un valore diverso da zero. Se l'interprete dei comandi non viene trovato, restituisce 0 e imposta errno su ENOENT. Se command non NULLè , system restituisce il valore restituito dall'interprete dei comandi. Restituisce il valore 0 solo se l'interprete dei comandi restituisce il valore 0. Il valore restituito -1 indica un errore e errno viene impostato su uno dei valori seguenti:

Valore Descrizione
E2BIG L'elenco di argomenti (dipendente dal sistema) è troppo grande.
ENOENT Non è possibile trovare l'interprete dei comandi.
ENOEXEC Non è possibile eseguire il file dell'interprete dei comandi perché il formato non è valido.
ENOMEM Memoria insufficiente per l'esecuzione del comando; o la memoria disponibile è stata danneggiata; o esiste un blocco non valido, che indica che il processo chiamante è stato allocato in modo non corretto.

Per altre informazioni sui codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.

Osservazioni:

La funzione system passa command all'interprete dei comandi che esegue la stringa come un comando del sistema operativo. system usa le variabili di ambiente COMSPEC e PATH per individuare il file CMD.exe dell'interprete dei comandi. Se command è NULL, la funzione verifica solo se l'interprete dei comandi esiste.

È necessario scaricare in modo esplicito, usando fflush o _flushallo chiudere qualsiasi flusso prima di chiamare system.

_wsystem è una versione a caratteri wide di system; l'argomento command in _wsystem è una stringa di caratteri wide. A parte ciò, queste funzioni si comportano in modo identico.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

TCHAR.H Routine _UNICODE e _MBCS non definito _MBCS Definito _UNICODE Definito
_tsystem system system _wsystem

Requisiti

Ciclo Intestazione obbligatoria
system <process.h> oppure <stdlib.h>
_wsystem <process.h> o <stdlib.h> o <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

In questo esempio si usa system per digitare un file di testo.

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

Vedi anche

Processo e controllo dell'ambiente
_exec, _wexec funzioni
exit, _Exit, _exit
_flushall
_spawn, _wspawn funzioni