std:: system
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Program termination | |||||||||||||||||||||
|
|||||||||||||||||||||
| Unreachable control flow | |||||||||||||||||||||
|
(C++23)
|
|||||||||||||||||||||
| Communicating with the environment | |||||||||||||||||||||
|
|||||||||||||||||||||
| Signals | |||||||||||||||||||||
| Signal types | |||||||||||||||||||||
| Non-local jumps | |||||||||||||||||||||
| Types | |||||||||||||||||||||
|
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
|