cs_TT22
Messages postés22Date d'inscriptionmercredi 4 avril 2012StatutMembreDernière intervention 9 février 2013
-
21 juin 2012 à 11:21
cs_TT22
Messages postés22Date d'inscriptionmercredi 4 avril 2012StatutMembreDernière intervention 9 février 2013
-
21 juin 2012 à 12:30
Bonjour à tous,
J'ai un problème, dans un programme C++ compilé en mode console sans options particulières j'utilise des printf() pour écrire dans le flux stdout.
Jusque là tout vas bien.
Mais lorsque je lance ce programme et que j'essaye de lire son flux stdout avec un autre programme (créé en AutoIt), tout le flux est donné à la fermeture du programme (y compris dans la console).
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 21 juin 2012 à 11:51
Bonjour.
Si tu es en C++, je te conseil vivement d'utiliser les std::ostream plutôt que les vieux printfs...
Pour ton problème, ça peut être un souci de flush. En effet, lorsque l'on écrit sur la console, ce n'est pas écris directement, mais par paquet. Tu peux forcer un flush avec la fonction fflush (Mais c'est assez étrange vu qu'un "\n" est censé provoquer un flush).
Sinon, si tu utilises std::cout, un simple std::endl saute une ligne et flush automatiquement le flux.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question