#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を押した後のものであり、後続の読み取りと一緒ではありません。なぜこれが起こるのですか?