本文共 534 字,大约阅读时间需要 1 分钟。
这是apue的一个习题,要求不用fcntl来实现dup2.这是我的思路:循环调用dup复制file descriptor,直到与指定的相同。如果您有更高效的方法,请告诉小弟我,非常感谢!
代码如下:
#include#include #include #include #define MAX 1000//function:neil_dup2int neil_dup2(int filedes,int filedes2){ if(filedes2==filedes) return filedes; close(filedes2); int fd_list[MAX]={0}; int i,j; for(i=0;i<=filedes2;i++) { if( (fd_list[i]=dup(filedes))<0) err_sys("error dup!"); if(fd_list[i]==filedes2) break; } for(j=0;j
转载地址:http://ycahj.baihongyu.com/