Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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