文件描述符fd

dup,dup2函数

dup复制文件描述符,到未使用的最小的文件描述符
dup2,则复制到指定的文件描述符,如

[========]

果指定的文件描述符已打开,则先关闭指定的文件描述符

int fd1,fd2,fd3;
fd1=open();
printf("fd1:%d\n",fd1);
write(fd1."write 1",7);
fd2=dup(fd1);
write(fd2," write 2 ",9);
close(1);
fd3=dup(fd1);
//fd3=dup2(fd1,1);
printf("fd3=%d",fd3);//库函数,行缓冲。换行,进程结束,缓冲区满的时候才会输出
write(fd3,"write3",9);//系统调用,实际上也没有直接写到文件里,也有缓存

大量数据输出时,printf,比write快