dup2 重定向
int dup2(int oldfd,int newfd)
关闭newfd对应的文件描述符,将newfd重新指向oldfd对应的文件
复制文件描述符
int dup(int oldfd)
新返回的文件描述符指向oldfd对应的文件
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
//先做重定向
int fd = open("word", O_WRONLY|O_CREAT,0666);
if(-1 == fd)
perror("open err");
int oldfd = dup(1);
dup2(fd,1);
printf("Hello world\n");
//需要刷新下
fflush(stdout);
dup2(oldfd,1);
printf("Hello world\n");
close(fd);
return 0;
}
原文:https://www.cnblogs.com/lodger47/p/14728575.html