Y a-t-i un moyen de lire ce qui se passe sur stdout ? Par exemple, j'exécute pedrom::system(flags). Dois-je faire une redirection vers un fichier temporaire, ou puis-je lire directement ce qui sort de stdout ? pedrom::stdout représente-t-il cet emplacement ?
Mieux : puis-je rediriger pedrom::stdout vers une emplacement de mon choix (genre un stack frame) puis y lire le résultat de pedrom::system ?
Avec fread, fgets ou fgetc ça ne fonctionne pas ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
En y réfléchissant, je ne comprends pas pourquoi ton programme a besoin de lire ce qu'il se passe sur stdout. A moins de bidouiller des trucs avec des threads (mais je ne crois pas que pedrom puisse faire ça, si ?), tu n'auras pas grand chose à lire.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
PpHd Le 06/05/2009 à 23:21 Tu n'as pas d'autres choix que de faire un system("ma commande > monfichiertmp"); suivi d'un fopen de ce fichier.
Les pipes, c'est légèrement ch**** à implémenter...
Ok. Je voyais ça juste par rapport à la place que ça prend d'y accéder. C'est sûr que si je suis le seul à le faire, autant que le poide de ce code soit dans mon programme.
Ah si, je viens de me rendre compte d'un cas, dans un de mes propres programmes ^^ J'utilise 2nd-switch dans graytool pour passer d'un poitn à l'autre d'un curseur ou d'une ligne. Si le flag GetKeySwich est mis, le programme devient limite inutilisable (obligé de quitter un shell en permanence quand on dessine ^^). Donc oui, des fonctions d'accès rapide seraient pas mal ^^
en entrée :
OrgFlag = GetFlag(GetKeySwitch);
SetFlag(GetKeySwitch,0);
ou
OrgFlag = SetFlag(GetKeySwitch,0);
puis en sortie :
SetFlag(GetKeySwich,OrgFlag);