我刚刚从winrar网站下载了免费软件unrar.exe。如果,从命令行,你tipe
unrar.exe p -inul myarchive.rar
它“打印”到默认状态std我的档案内容。由于存档只是一个.avi文件,如果我这样做:
unrar.exe p -inul myarchive.rar > output.avi
完美无缺。现在,我需要将此程序的输出std重定向到我的程序的输入std。这意味着我这样做:
unrar.exe p -inul myarchive.rar | myprogram.exe
myprogram.exe只是一个简单的c文件,每秒(这意味着:非常慢)从标准输入读取一个字符并将其打印到屏幕。 在大约10000个字符之后,我只得到-1个字节(以十六进制表示的FF)。
为什么这样?我该如何解决这个问题?