/****************************************
dup2函数
函数原型: int dup2(int newfd, int oldfd)
newfd: 重新定向到的文件描述符
oldfd: 原来的文件描述符
return: -1 错误,可以查看相关宏定义发现错误原因
理解: 用新的文件描述符代替旧的文件描述符
****************************************/
//测试代码
include <stdio.h>
include <fcntl.h>
include <sys/stat.h>
include <unistd.h>
int main(void)
{
printf("标准输出重定向之前\n");
//准备重定向的文件
int fd = open("1.txt", O_RDWR | O_TRUNC | O_CREAT, 0644);
if (fd == -1)
{
perror("创建文件失败")
}
dup2(fd, 1);
printf("标准输出重定向之后\n");
close(fd);
return 0;
}
// 代码现象====> 后一句printf打印到了 1.txt 里面
版权声明:本文为qq_41985711原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。