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 ?

Comment puis-je capturer de manière transparente la sortie standard à partir d'une commande `system()` en C/C ?

Barbara Streisand
Libérer: 2024-12-03 15:09:10
original
513 Les gens l'ont consulté

How Can I Seamlessly Capture stdout from a `system()` Command in 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;
}
Copier après la connexion

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!

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