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_errlist
e _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 _flushall
o 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