Sortie console d'un programme appelé, vers une chaine de caractere [Résolu]

Signaler
Messages postés
14
Date d'inscription
jeudi 21 juin 2007
Statut
Membre
Dernière intervention
17 mars 2008
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
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 je 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

1 réponse

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Essaie d'utiliser l'API ShellExecute() comme ceci:
ShellExecute(0,0,"cmd","/c c:\\prccom\\prog.exe > c:\\fichier.txt",0,0);
Le programme à lancer est en fait cmd.exe. A noter dans le champ "paramètres" la présence du "/c" suivi du chemin de ton programme. Le symbole de redirection est suivi du chemin du fichier de sortie. Si tu mets seulement le nom de ce dernier, il sera créé dans le répertoire courant.
Ca marche bien chez moi.