Linux--重定向dup&&dup2
2017-06-05 23:46
337 查看
概述
dup和dup2。它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。dup和dup2
函数原型:#include <unistd.h> int dup(int oldfd); int dup2(int oldfd, int newfd);
dup:dup()使用最小的未使用的描述符来描述新的描述符。
dup2:dup2()是把newfd成为oldfd的副本。
例:我们将printf函数重定向到文件中,也就是说printf的内容全部输入到文件里。
代码:
#include<stdio.h> #include<stdlib.h> #include<fcntl.h> #include<sys/types.h> #include<sys/stat.h> #include<string.h> int main() { int fd = open("./myfile",O_CREAT|O_RDWR,0666); if(fd < 0) { perror("open"); return 1; } close(1); //dup方法 //int new_dup = dup(fd); //dup2方法 int new_dup = dup2(fd,1); if(new_dup < 0) { perror("dup"); return 2; } close(fd); char buf[1024]; while(1) { memset(buf,'\0',sizeof(buf)); fgets(buf,sizeof(buf),stdin); if(strncmp(buf,"quit",4) == 0) break; printf("%s",buf); } return 0; }
相关文章推荐
- linux:文件描述符重定向dup&dup2
- linux句柄重定向之dup和dup2
- linux—dup和dup2重定向文件描述符
- 【Linux调试技巧----标准输出重定向到文件】dup2和dup的妙用
- linux句柄重定向之dup和dup2
- linux句柄重定向之dup和dup2
- linux --dup dup2 文件描述符重定向函数--输入输出重定向
- 文件描述符重定向---dup&dup2
- [linux]--使用dup和dup2重定向和还原
- linux 经典的例子 解释 dup dup2 文件描述符重定向函数 输入输出重定向
- linux 经典的例子 解释 dup dup2 文件描述符重定向函数 输入输出重定向
- linux下用 dup dup2 文件描述符重定向函数 输入输出重定向
- linux之dup&dup2
- Linux Programmer's Manual DUP(2)
- linux 重定向 1>&2 2>&1
- linux 重定向 1>&2 2>&1
- Linux下Shell输出重定向到空设备文件1>/dev/null 2>&1
- Linux下的管道编程技术-dup函数和dup2函数
- Linux下的管道编程技术 dup dup2 popen
- Linux文件,文件描述符以及dup()和dup2()