system, _wsystem

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Exécute une commande.

System_CAPS_ICON_important.jpg Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge avec /ZW.

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

Paramètres

command
Commande à exécuter.

Si command a la valeur NULL et que l'interpréteur de commande est trouvé, retourne une valeur différente de zéro. Si l'interpréteur de commande est introuvable, retourne 0 et attribue à errno la valeur ENOENT. Si command n'a pas la valeur NULL, system retourne la valeur retournée par l'interpréteur de commande. Elle retourne la valeur 0 uniquement si l'interpréteur de commande retourne la valeur 0. La valeur de retour -1 indique une erreur et errno prend l'une des valeurs suivantes :

E2BIG
La liste d’arguments (qui est dépendante du système) est trop grande.

ENOENT
L'interpréteur de commande est introuvable.

ENOEXEC
Le fichier interpréteur de commande ne peut pas être exécuté, car le format n'est pas valide.

ENOMEM
Mémoire insuffisante pour exécuter la commande ; la mémoire disponible est endommagée ; ou il existe un bloc non valide, ce qui indique que le processus qui effectue l'appel n'a pas été alloué correctement.

Consultez la page _doserrno, errno, _sys_errlist et _sys_nerr pour plus d’informations sur ces codes de retour.

La fonction system passe command à l'interpréteur de commande, qui exécute la chaîne en tant que commande du système d'exploitation. system utilise les variables d'environnement COMSPEC et PATH pour localiser le fichier interpréteur de commande CMD.exe. Si command a la valeur NULL, la fonction vérifie uniquement si l'interpréteur de commande existe.

Vous devez explicitement vider (à l'aide de fflush ou _flushall) ou fermer tout flux avant d'appeler system.

_wsystem est une version à caractères larges de system ; l'argument command de _wsystem est une chaîne à caractères larges. Ces fonctions se comportent sinon de façon identique.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tsystemsystemsystem_wsystem
RoutineEn-tête requis
system<process.h> ou <stdlib.h>
_wsystem<process.h>, <stdlib.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.

Cet exemple utilise system pour taper (type) un fichier texte.

// crt_system.c  
  
#include <process.h>  
  
int main( void )  
{  
   system( "type crt_system.txt" );  
}  

Line one.  
Line two.  

Sortie

Line one.  
Line two.  

Processus de contrôle et d’environnement
_exec, _wexec, fonctions
Exit, _Exit, _exit
_flushall
_spawn, _wspawn, fonctions

Afficher: