我最近开始阅读关于管道的知识。我不明白它是如何在此代码中将文件描述符数字打印为4和3?了解UNIX中的管道
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
int main(){
int pfds[2];
char buf[30];
if (pipe(pfds) == -1) {
perror("pipe");
exit(1);
}
printf("writing to file descriptor #%d\n", pfds[1]);
write(pfds[1], "test", 5);
printf("reading from file descriptor #%d\n", pfds[0]);
read(pfds[0], buf, 5);
printf("read \"%s\"\n", buf);
return 0;
}
输出:
写入文件描述符#4从文件描述符#阅读3
阅读 “测试”
这里为什么/它是如何印刷4和3?
你期待它们是什么? – 2014-09-27 13:32:53