Partager 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 avec /ZW.

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

Paramètres

  • command
    Commande à exécuter.

Valeur de retour

Si command est NULL et l'interpréteur de commandes est trouvé, retourne une valeur différente de zéro. Si l'interpréteur de commandes est introuvable, retourne 0 et affecte errno à ENOENT. Si command n'est pas NULL, system retourne la valeur retournée par l'interpréteur de commandes. Il renvoie la valeur 0 si l'interpréteur de commandes renvoie la valeur 0. Une valeur de retour de –1 indique une erreur et errno est fixé à une des valeurs suivantes:

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

  • ENOENT
    L'interpréteur de commandes est introuvable.

  • ENOEXEC
    Le fichier de l'interpréteur de commandes ne peut pas être exécuté parce que le format n'est pas valide.

  • ENOMEM
    Mémoire insuffisante pour exécuter la commande ; ou la mémoire disponible est endommagée ; ou il existe un bloc non valide, indiquant que le processus appelant n'a pas été alloué correctement.

Pour plus d'informations sur ces codes de retour, consultez _doserrno, errno, _sys_errlist et _sys_nerr.

Notes

La fonction system passe command à l'interpréteur de commandes, qui exécute la chaîne comme commande du système d'exploitation. system utilise les variables d'environnement COMSPEC et d' PATH pour rechercher le fichier CMD.exe de l'interpréteur de commandes. Si command est NULL, la fonction vérifie seulement si l'interpréteur de commandes existe.

Vous devez explicitement faire le ménage (en utilisant fflush ou _flushall) ou fermer tout flux avant que vous appeliez system.

_wsystem est une version à caractères larges de system; l'argument command vers _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 & _MBCS non définis

_MBCS défini

_UNICODE défini

_tsystem

system

system

_wsystem

Configuration requise

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 Compatibilité.

Exemple

Cet exemple utilise system pour TAPER 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.

Équivalent .NET Framework

Voir aussi

Référence

Contrôle de processus et d'environnement

_exec, _wexec, fonctions

exit, _exit

_flushall

_spawn, _wspawn, fonctions