Envoyé par
lezurp
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
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...)
Partager