unrar.exe和| 窗户上的pipe道

我刚刚从winrar网站下载了免费软件unrar.exe。 如果从命令行,你tipe

unrar.exe p -inul myarchive.rar 

它“打印”出默认标准的档案的内容。 由于存档只是一个.avi文件,如果我这样做:

 unrar.exe p -inul myarchive.rar > output.avi 

它完美的作品。 现在,我需要将该程序的输出stdredirect到我的一个程序的inputstd。 这意味着我这样做:

 unrar.exe p -inul myarchive.rar | myprogram.exe 

myprogram.exe只是一个简单的c文件,每秒(这意味着:非常慢)从标准input中读取一个字符并将其打印到屏幕上。 大约10000个字符后,我只得到-1字节(hex表示的FF)。

为什么这个? 我怎么解决这个问题?