复制文件描述符
int dup(int oldfd);
新返回一个文件描述符指向oldfd对应的文件
int dup2(int’oldfd,int newfd);
关闭newfd对应的文件描述符
将newfd重新指向为oldfd对应的文件
1 #include<stdio.h>
2 #include<unistd.h>
3 #include<sys/types.h>
4 #include<sys/stat.h>
5 #include<fcntl.h>
6 int main()
7 {
8
9 int outfd=dup(1);
10 int fd =open("world",O_WRONLY|O_CREAT,0666);
11 dup2(fd,1);
12 printf("hello world\n");
13 fflush(stdout);//printf没有刷新会放在缓冲区,所以不加这个语句,printf输出重定向不能成功
14 dup2(outfd,1);
15 printf("hello world\n");
16 close(fd);
17 return 0;
18
19 }
fflush(stdout);//printf没有刷新会放在缓冲区,所以不加这个语句,printf输出重定向不能成功
~