Redirection de la sortie standart - Programmation
Marsh Posté le 02-03-2002 à 19:23:26
| chrisbk a écrit a écrit  : Yop ! Voila, pour un prog donné il faut que je redirige la sortie standart vers autre chose . (eg que le printf ne s'affiche pas dans une console mais dans un edit) . En farfouillant dans la msdn j'ai trouvé ca "Creating a Child Process with Redirected Input and Output", qui marche formidablement bien , mais seulement pour les programmes appelé via "CreateProcess", et non pour le programme principal en lui meme . Pour ce dernier, printf renvoi tjs sur la console. Une solution serait de refaire une fonction printf-like qui se charge de recup le bon handle (le redirigé) et d'ecrire dedans, mais bon, cela ne me plait qu'a moitié... Y a t'il moyen (je pense bien que oui  )de rediriger stdout/stderr vers un HANDLE du programme principal ? thks ! | 
 
 
cherche de la doc sur les PIPE, ca permet, comme avec un fichier, de créer un handle ou tu peux y lire, sauf que au lieu de lire le fichier, il le lance. 
Marsh Posté le 02-03-2002 à 21:10:19
sous win ou sous linux tu fais: 
 
tomprog > toto.txt 
 
et dans toto.txt tu as tout les printf enregistre... 
 
c simple  
 
Marsh Posté le 02-03-2002 à 21:56:43
ca marche pas avec freopen? 
 
(c'est une question, je n'ai pas essaye) 
 
A+ 
LEGREG 
Marsh Posté le 02-03-2002 à 23:20:06
| BIGBEN49 a écrit a écrit  : sous win ou sous linux tu fais: tomprog > toto.txt et dans toto.txt tu as tout les printf enregistre... c simple   | 
 
 
toi t'as tout piger a mon pb  
 
 
 
Legreg : freopen redirige vers un FILE * , et non un HANDLE, ce qui fait que ca risque d'etre un peu la foire pour relire ca en amont 
Marsh Posté le 02-03-2002 à 19:16:52
Yop !
 )de rediriger stdout/stderr vers un HANDLE du programme principal ?
 )de rediriger stdout/stderr vers un HANDLE du programme principal ? 
Voila, pour un prog donné il faut que je redirige la sortie standart vers autre chose . (eg que le printf ne s'affiche pas dans une console mais dans un edit) .
En farfouillant dans la msdn j'ai trouvé ca "Creating a Child Process with Redirected Input and Output", qui marche formidablement bien , mais seulement pour les programmes appelé via "CreateProcess", et non pour le programme principal en lui meme . Pour ce dernier, printf renvoi tjs sur la console.
Une solution serait de refaire une fonction printf-like qui se charge de recup le bon handle (le redirigé) et d'ecrire dedans, mais bon, cela ne me plait qu'a moitié...
Y a t'il moyen (je pense bien que oui
thks !