Je viens de télécharger le freeware unrar.exe du site web winrar. Si, depuis la ligne de commande, vous faites
unrar.exe p -inul myarchive.rar
Il “imprime” par défaut le contenu de mon archive. Puisque l’archive n’est qu’un fichier .avi, si je le fais:
unrar.exe p -inul myarchive.rar > output.avi
Cela fonctionne parfaitement. Maintenant, je devrais redirect la sortie std de ce programme vers l’entrée std d’un programme du mien. Cela signifie que je fais:
unrar.exe p -inul myarchive.rar | myprogram.exe
myprogram.exe est juste un simple fichier c que chaque seconde (ce qui signifie: très lentement) lit un caractère depuis l’entrée standard et l’imprime à l’écran. Après environ 10000 caractères, je ne reçois que l’octet -1 (FF en représentation hexadécimale).
Pourquoi ça? Comment puis-je résoudre ce problème?