Я только что скачал бесплатное программное обеспечение unrar.exe с веб-сайта winrar.Если из командной строки вы наберете
unrar.exe p -inul myarchive.rar
, он "распечатает" по умолчанию содержимое моего архива.Так как в архиве есть только один файл .avi, если я это сделаю:
unrar.exe p -inul myarchive.rar > output.avi
Он отлично работает.Теперь мне нужно перенаправить стандартный вывод этой программы на стандартный ввод моей программы.Это означает, что я делаю:
unrar.exe p -inul myarchive.rar | myprogram.exe
myprogram.exe - это простой файл c, который каждую секунду (что означает: очень медленно) читает символ из стандартного ввода и выводит его на экран.После примерно 10000 символов я получаю только -1 байт (FF в шестнадцатеричном представлении).
Почему это?Как я могу решить эту проблему?