疑问,关于一个I/O buffering
Windows XP系统
vc 6.0
activeperl 5.8.4
test.c:
int main(void){
int n;
while(1){
scanf("%d", &n);
printf("%d", n);
}
return 0;
}
test.pl
IPC::Open2(*RD,*WR,'test.exe');
print WR "123\n";
print readline(RD);
问题:
为何运行test.pl readline(RD)阻塞在那里而不能获得test.c中的输出?
如果是test.exe自己缓冲了STDOUT的话,为何cmd.exe下运行test.exe输入123 <CRLF>可以马上看到输出?