习题3.2:不调用fcntl函数来实现dup2的功能
来源:互联网 发布:linux安装wine 编辑:程序博客网 时间:2024/04/28 15:48
思路:用dup来实现dup2
程序:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int mydup2(int oldfd, int newfd)
{
int *p;
int i = 0;
if (oldfd == newfd)
return newfd;
close(newfd);
p = (int*)malloc(sizeof(int) * (newfd > oldfd ? newfd : oldfd));
do
{
p[i] = dup(oldfd);
}while(p[i++] < newfd -1);
newfd = dup(oldfd);
while(i)
{
if(p[--i] > 0)
close(p[i]);
}
free(p);
return newfd;
}
int main(int argc, char* argv[])
{
int newfd = -1;
newfd = mydup2(0, 5);
printf("The new fd is %d/n", newfd);
return 0;
}
- 习题3.2:不调用fcntl函数来实现dup2的功能
- 习题3.2:不调用fcntl函数来实现dup2的功能
- apue第三章习题3.2 编写dup2功能相同的函数,要求不调用fcntl函数
- APUE习题[实现dup2函数功能,不使用fcntl]
- UNIX环境高级编程学习笔记(四)不调用fcntl函数实现dup2的功能
- 实现dup2函数(不使用fcntl)
- 编写一个与dup2功能相同的函数,要求不调用fcntl函数,并且要有正确的出错处理
- APUE 习题3-2 实现dup2,要求不使用fcntl函数。
- 写一个dup2功能相同的函数,不能调用 fcntl 函数,并且要有出错处理
- 编写一个与3.12节中dup2功能相同的函数,要求不调用fcntl函数,并且要有正确的出错处理(APUE)
- Unix环境编程 如何实现dup2函数,不允许调用fcntl?
- APUE(习题3.2)实现与dup2功能相同的函数
- APUE习题3.2----自己实现的dup2( )函数的源码
- APUE习题3.2----自己实现的dup2( )函数的源码
- UNIX环境高级编程习题3.2 自己实现dup2函数功能
- 实现dup2功能相同的函数
- fcntl函数锁的功能
- dup,dup2,fcntl,ioctl,系统调用
- Android 滑动效果基础篇(四)—— Gallery + GridView
- 用xbuilder开发遇到的问题
- hdu 1084 最大报销额(浙大研究生复试题)(01背包的变形)
- SQL Server 2012清除连接过的服务器名称历史?
- No 132 · MSChart的使用及遇到的问题
- 习题3.2:不调用fcntl函数来实现dup2的功能
- sql使用UNION
- sybase 性能优化经验谈
- lamp 环境搭建 (opensuse 11.4)
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- android学习——NDK入门 windows下安装cygwin 与 Eclipse使用CDT 自动编译
- 第10周实验报告3
- 黑马程序员--第二阶段Java高级IO--第18天
- 【计算机网络】TCP关闭连接问题及注意