Maison > développement back-end > C++ > Comment puis-je capturer efficacement la sortie standard à partir d'une commande `system()` en C/C ?

Comment puis-je capturer efficacement la sortie standard à partir d'une commande `system()` en C/C ?

Patricia Arquette
Libérer: 2024-12-04 20:56:13
original
1062 Les gens l'ont consulté

How Can I Effectively Capture stdout from a `system()` Command in C/C  ?

Capturer efficacement la sortie standard à partir d'une commande system()

Lors de l'utilisation de la fonction system() pour lancer une application externe, telle que "ls ", il peut être souhaitable de capturer sa sortie en temps réel pour un traitement ultérieur. Pour y parvenir en C/C, envisagez l'approche optimale suivante :

Les fonctions popen() et pclose(), telles que documentées dans le manuel popen, fournissent un mécanisme robuste pour capturer stdout/stderr à partir de commandes externes. Voici un exemple de code :

#include <stdio.h>

FILE *fp;
char buffer[1024];

fp = popen("ls", "r");
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
  // Process the stdout line
}
pclose(fp);
Copier après la connexion

Cet extrait de code ouvre un canal vers la commande "ls" et parcourt chaque ligne de sortie, l'envoyant pour un traitement ultérieur. Une fois la commande externe terminée, pclose() ferme le canal et libère les ressources.

En employant cette technique, vous pouvez capturer efficacement la sortie standard de vos applications externes, garantissant une intégration transparente avec votre code C/C.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal