Partage via


system, _wsystem

Exécute une commande.

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 dans les applications de la plateforme Windows universelle.

Syntaxe

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

Paramètres

command
Commande à exécuter.

Valeur retournée

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 commandes est introuvable, retourne 0 et définit la ENOENTvaleur errno . Si command ce n’est pas NULLle cas, system retourne la valeur retournée par l’interpréteur de commandes. Elle retourne la valeur 0 uniquement si l'interpréteur de commande retourne la valeur 0. Une valeur de retour de -1 indique une erreur et errno est définie sur l’une des valeurs suivantes :

Valeur Description
E2BIG La liste d’arguments (qui dépend du système) est trop volumineuse.
ENOENT L’interpréteur de commandes est introuvable.
ENOEXEC Impossible d’exécuter le fichier interpréteur de commandes, car le format n’est pas valide.
ENOMEM La mémoire insuffisante est disponible pour exécuter la commande ; ou la mémoire disponible a été endommagée ; ou un bloc non valide existe, ce qui indique que le processus appelant a été alloué de manière incorrecte.

Pour plus d’informations sur les codes de retour, consultez , , _sys_errlist_doserrnoet _sys_nerr.errno

Notes

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 vider explicitement, utiliser fflush ou _flushallfermer un 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.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routines de texte générique

Routine TCHAR.H _UNICODE et _MBCS non définis _MBCS défini _UNICODE défini
_tsystem system system _wsystem

Spécifications

Routine En-tête requis
system <process.h> ou <stdlib.h>
_wsystem <process.h> ou <stdlib.h> ou <wchar.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

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

// crt_system.c

#include <process.h>

int main( void )
{
   system( "type crt_system.txt" );
}

Entrée : crt_system.txt

Line one.
Line two.

Sortie

Line one.
Line two.

Voir aussi

Processus et contrôle d’environnement
_exec, fonctions _wexec
exit, , _Exit_exit
_flushall
_spawn, fonctions _wspawn