Redirection de la console d'un programme appelé à l'appelant - C - Programmation
Marsh Posté le 06-06-2013 à 22:58:00
http://msdn.microsoft.com/en-us/li [...] 71%29.aspx ?
Attention: cette fonction a besoin de la variable d'environnement CMD, si elle est pas là = crash.
Chuis pas sûr que les _ sont nécessaires. Sous MinGW, on peut s'en passer (mais j'imagine que les fonctions ne sont pas complètement conforme au standard).
Marsh Posté le 06-06-2013 à 23:20:40
tpierron a écrit : Attention: cette fonction a besoin de la variable d'environnement CMD, si elle est pas là = crash. |
Hmm, pas si tu verifies qu'elle n'est pas la !
Marsh Posté le 07-06-2013 à 00:46:10
J'aurais plutôt tendance à recommander d'utiliser CreateProcess, dont le paramètre LPSTARTUPINFO lpStartupInfo te permet de spécifier tes propres HANDLE pour les entrées et sorties standard. Attention cependant à bien consommer la sortie du programme créé pendant son exécution (suivant ce que tu fourniras en guise de handle, les écritures de la part du processus généré pourront être bloquantes, tu ne dois donc surtout pas considérer que tu consulteras le résultat une fois le programme terminé !)
Marsh Posté le 07-06-2013 à 07:22:14
Ok merci pour vos réponses ! Je vais tester ça dans la journée
Marsh Posté le 07-06-2013 à 08:56:46
Bon je viens de tester la première solution (la plus simple me semble t'il) et ca a l'air de fonctionner dans mon cas.
Par contre ca n'a l'air que de rediriger la sortie console et pas le stderr .Du coup malgre la pipe on peut avoir
une sortie non désirée sur la console qui n'est pas redirigée vers le prog parent (lui aussi application console) :-/
Marsh Posté le 07-06-2013 à 10:49:59
@theshockWave : j'allais tester au si mais je n'avais encore point eu le temps ;-)
Marsh Posté le 06-06-2013 à 20:29:25
Hello,
Je dois coder sous win une expece de wrapper pour un compilateur C (non Gcc) afin qu'il renvoir vers l'IDE (Netbeans) les messages d'erreurs du compilateur mais 'formatés' GCC
En gros :
Netbeans
commande build ----------> Wrapper --------- Compilateur C --- erreurs / warning ----> Wrapper ----- erreurs formatées gcc ----> Netbeans
En gros , il y a une redirection de console (le compilateur appelé ne doit rien afficher sur la console mais rebalancer les infos au wrapper qui lui les rebalancera vers la console.
Mais voila , je n'ai pas pas trop de connaissance sur le sys windows , et j'avoue que je ne vois pas trop comment faire . Des idees ?