Maison >développement back-end >C++ >Comment puis-je capturer de manière transparente la sortie standard à partir d'une commande `system()` en C/C ?
Capturer la sortie stdout à partir d'une commande system() de manière transparente
Capturer la sortie stdout d'une application externe lancée à l'aide de la commande system() est essentielle pour de nombreuses applications. En C/C , il existe quelques approches pour accomplir cette tâche :
Une méthode optimale consiste à exploiter les fonctions popen() et pclose() :
#include <stdio.h> int main() { FILE *fp; fp = popen("ls", "r"); // Capture output and process accordingly pclose(fp); return 0; }
Avec popen(), vous pouvez ouvrir un canal vers la sortie standard de la commande que vous spécifiez. La fonction pclose() ferme le canal et attend la fin de la commande, renvoyant l'état de sortie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!