voila mon probleme: je lance l'exécution d'un fichier perl dans mon code en c, et je voudrai rediriger le flux pour pouvoir récupérer tout ce que renvoi l'exécution du fichier perl.
Version imprimable
voila mon probleme: je lance l'exécution d'un fichier perl dans mon code en c, et je voudrai rediriger le flux pour pouvoir récupérer tout ce que renvoi l'exécution du fichier perl.
Voir ce vieux post http://www.developpez.net/forums/vie...light=#2535925
merci.
mais je ne veux pas passer par un fichier texte. je voudrai vraiment redirigez le flux.
en fait ce que je veux, c'est pouvoir lire sur le shell ce qu'affiche mon programme et le stocker dans un tableau par exemple.
voici ma commande:
celà m'affiche un certains nombre d'éléments, que faire pour récupérer tout cela et tout stocker?Code:
1
2 system("./monfichier.pl");
evidemment si j met ce dernier bout de code c juste pour que vous comprenniez ce que je cherche à faireCode:
1
2 scanf=system("./monfichier.pl"); :D :D :D
Il y a un truc qui m'échappe...
Ton code source PERL renvoie-t-il bien quelque chose?
Si oui(c'est une question), est-ce que l'on peut faire ça:
:?:Code:
1
2
3 string s; s=system("./monfichier.pl");
Il me semble que system renvoi un entier. Mais en tout cas cela me paraît impossible qu'il renvoi ce qu'affiche le programme perl ou un autre d'ailleurs.
Redirige le flux dans un fichier puis lit le contenu de ton fichier. Qu'est-ce qui ne vas pas avec les fichiers ? Tu ne peux réellement pas passer par des fichiers ?
Sous linux, essaye popen
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/popen.3.html