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 ENOENT
valeur errno
. Si command
ce n’est pas NULL
le 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
_doserrno
et _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 _flushall
fermer 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