Condividi tramite


system, _wsystem

Esegue un comando.

Importante

Questa API non può essere utilizzata nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.

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 ed imposta errno a 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 di ritorno -1 indica un errore, e errno viene impostato su uno dei seguenti valori:

  • E2BIG
    L'elenco degli argomenti (che è dipendente dal sistema) è troppo grande.

  • ENOENT
    L'interprete dei comandi non viene trovato.

  • ENOEXEC
    Il file dell'interprete dei comandi non può essere eseguito perché il formato non è valido.

  • ENOMEM
    Memoria insufficiente per eseguire il comando; la memoria disponibile è stata danneggiata; esiste un blocco non valido, che indica che il processo chiamante non è stato allocato correttamente.

Per ulteriori informazioni su questi e altri codici restituiti, vedere _doserrno, errno, _sys_errlist, e _sys_nerr.

Note

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

È necessario chiudere o effettuare in modo esplicito lo svuotamento di qualsiasi flusso, utilizzando fflush o _flushall, prima della chiamata alla funzione system.

_wsystem è una versione a caratteri estesi di system; l'argomento command in _wsystem è una stringa di caratteri estesi. Altrimenti queste funzioni si comportano in modo identico.

Mapping di routine di testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tsystem

system

system

_wsystem

Requisiti

Routine

Intestazione obbligatoria

system

<process.h> o <stdlib.h>

_wsystem

<process.h>, <stdlib.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.

Esempio

In questo esempio viene utilizzata system per scrivere in 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.

Equivalente .NET Framework

Vedere anche

Riferimenti

Controllo processo e ambiente

Funzioni _exec, _wexec

exit, _exit

_flushall

Funzioni _spawn, _wspawn