Namespaces
Variants

std:: system

From cppreference.net
Utilities library
Défini dans l'en-tête <cstdlib>
int system ( const char * command ) ;

Appelle le processeur de commandes de l'environnement hôte (par exemple /bin/sh , cmd.exe ) avec le paramètre command . Retourne une valeur définie par l'implémentation (généralement la valeur que le programme invoqué retourne).

Si command est un pointeur nul, vérifie si l'environnement hôte possède un processeur de commandes et renvoie une valeur non nulle si et seulement si le processeur de commandes existe.

Table des matières

Paramètres

command - chaîne de caractères identifiant la commande à exécuter dans le processeur de commandes. Si un pointeur nul est donné, l'existence du processeur de commandes est vérifiée

Valeur de retour

Valeur définie par l'implémentation. Si command est un pointeur nul, retourne une valeur non nulle si et seulement si le processeur de commandes existe.

Notes

Sur les systèmes POSIX, la valeur de retour peut être décomposée en utilisant WEXITSTATUS et WSTOPSIG .

La fonction POSIX associée popen rend la sortie générée par command disponible pour l'appelant.

Un vidage explicite de std::cout est également nécessaire avant un appel à std::system , si le processus créé effectue toute opération d'E/S d'écran.

Exemple

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::system("ls -l >test.txt"); // executes the UNIX command "ls -l >test.txt"
    std::cout << std::ifstream("test.txt").rdbuf();
}

Sortie possible :

total 16
-rwxr-xr-x 1 2001 2000 8859 Sep 30 20:52 a.out
-rw-rw-rw- 1 2001 2000  161 Sep 30 20:52 main.cpp
-rw-r--r-- 1 2001 2000    0 Sep 30 20:52 test.txt

Voir aussi

Documentation C pour system