【发布时间】:2009-08-07 05:05:06
【问题描述】:
#include <stdio.h>
#define MAXLEN 256
int main() {
int n;
char buf[MAXLEN];
while((n = read(0,buf,sizeof(buf))) != 0){
printf("n: %d:",n);
write(1,buf,n);
}
return 1;
}
程序的输出(第一个read和第一个write由用户输入并由终端回显)是:
read
read
write
write
n: 5:n: 6:
printf 的输出是在标准输入中按 Ctrl+D 后出现的,而不是随后的读取。为什么会这样?
【问题讨论】: