IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Recupperer la sortie console d'un programme appelé, vers une chaine de caractere.


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut Recupperer la sortie console d'un programme appelé, vers une chaine de caractere.
    bonjour,
    je travail sous un environnement windows avec borland cpp.

    j'ecris un programme qui lance plusieurs autre programme (d'on je n ai pas les sources) avec une commande de type : system("start

    quand ej lance manuellement l'un de ces programmes dans une console, avec la commande:

    c:\prccom\prog.exe -A > sortie.txt

    le prog.exe affiche une sortie texte dans la console et l'envoie dans le fichier texte sortie.txt . Je souppconne prog.exe d'utiliser une focntion printf ou cout.

    Pour tout faire en C :

    j'ai essayer entre autre :
    system("start c:\\prccom\\prog.exe -A >> sortie.txt");
    mais le prog.exe est bien lancer (dans une consoel qui ce referme des que l'affcihage est fini, le fichier sortie est bien crée, mais il est vide.

    Comment recupere le flux de donné afficher dans la console et l'envoyer vers une variable ou un fichier texte...

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lezurp Voir le message
    bonjour,
    je travail sous un environnement windows avec borland cpp.

    j'ecris un programme qui lance plusieurs autre programme (d'on je n ai pas les sources) avec une commande de type : system("start

    quand ej lance manuellement l'un de ces programmes dans une console, avec la commande:

    c:\prccom\prog.exe -A > sortie.txt

    le prog.exe affiche une sortie texte dans la console et l'envoie dans le fichier texte sortie.txt . Je souppconne prog.exe d'utiliser une focntion printf ou cout.

    Pour tout faire en C :

    j'ai essayer entre autre :
    system("start c:\\prccom\\prog.exe -A >> sortie.txt");
    mais le prog.exe est bien lancer (dans une consoel qui ce referme des que l'affcihage est fini, le fichier sortie est bien crée, mais il est vide.

    Comment recupere le flux de donné afficher dans la console et l'envoyer vers une variable ou un fichier texte...

    Merci
    Pourquoi faire "start" ? En général, on met dans la fonction system() exactement la même commande que celle qu'on tape en direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("c:\\prccom\\prog.exe -A >> sortie.txt");
    Si tu veux récupérer ton résultat dans une variable, ça devient plus compliqué. Faut que tu fasses un FILE *fp=popen(commande, "r") puis tu vas lire ton "fp" comme tu lirais un fichier (fgets, fscanf, etc...)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    a oui en effet si je ne met pas le start , la commande passe sans probleme. du coup je ne devrai pas avoir besoin de mettre la sortie dan sune variable, mais c est interessant quand meme je le note.

    Merci

Discussions similaires

  1. XUL nsIProcess appel vers une commande système /usr/bin/play
    Par pierre++ dans le forum Thunderbird
    Réponses: 0
    Dernier message: 15/06/2014, 12h33
  2. Réponses: 4
    Dernier message: 04/03/2012, 22h53
  3. [1.x] Appel vers une autre class
    Par lordlifen dans le forum Symfony
    Réponses: 1
    Dernier message: 23/08/2010, 17h18
  4. appel vers une variable global
    Par PePedu78 dans le forum MFC
    Réponses: 12
    Dernier message: 26/01/2008, 14h56
  5. Réponses: 7
    Dernier message: 02/09/2005, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo