Unix环境高级编程第三章习题2(转载修改)
来源:互联网 发布:tracker软件怎么使用 编辑:程序博客网 时间:2024/05/16 13:55
int dup2(fd1,fd2) (int fd1,int fd2){
int fd=0;
int array_fd[100];
int i=0;
printf(" dup2(%d,%d) \n", fd1, fd2);
if((fd1 < 0) || (fd2 < 0) || fd2 > 100){
err_sys(" Please check file_id. ");
exit(1);
}
fd = dup(fd1);
if(fd < 0){
err_sys(" the file id has no corresponding file ");
exit(1);
}
while(fd < fd2){
i++;
if(i == 100){
err_sys(" open to much file ");
exit(1);
}
array_fd[i]=fd;
fd = dup(fd1);
if (fd < 0) {
err_sys(" can't open it ");
}
printf("fd = %d \n", fd);
}
if(fd > fd2){
close(fd);
close(fd2);
fd = dup(fd1);
}
for(;i>=0;i--){
close(array_fd[i]);
}
return fd;
}
int fd=0;
int array_fd[100];
int i=0;
printf(" dup2(%d,%d) \n", fd1, fd2);
if((fd1 < 0) || (fd2 < 0) || fd2 > 100){
err_sys(" Please check file_id. ");
exit(1);
}
fd = dup(fd1);
if(fd < 0){
err_sys(" the file id has no corresponding file ");
exit(1);
}
while(fd < fd2){
i++;
if(i == 100){
err_sys(" open to much file ");
exit(1);
}
array_fd[i]=fd;
fd = dup(fd1);
if (fd < 0) {
err_sys(" can't open it ");
}
printf("fd = %d \n", fd);
}
if(fd > fd2){
close(fd);
close(fd2);
fd = dup(fd1);
}
for(;i>=0;i--){
close(array_fd[i]);
}
return fd;
}
- Unix环境高级编程第三章习题2(转载修改)
- Unix环境高级编程 第三章习题答案
- UNIX环境高级编程———第三章习题
- unix环境高级编程第三章习题的一些拙见
- UNIX环境高级编程习题之第三章第二题
- UNIX环境高级编程习题——第三章
- 《UNIX环境高级编程》学习笔记--第三章习题2参考答案
- 《Unix环境高级编程》课后习题(1-6章)
- UNIX环境高级编程第三章
- unix高级环境编程 第二十章 数据库函数库:习题讨论
- unix环境高级编程第四章习题的一些拙见
- unix环境高级编程第五章习题的一些拙见
- unix环境高级编程第六章习题的一些拙见
- unix环境高级编程第七章习题的一些拙见
- UNIX环境高级编程习题——第二章
- UNIX环境高级编程习题——第四章
- UNIX环境高级编程习题——第五章
- UNIX环境高级编程习题——第六章
- java获取页面原代码
- String切分字符串,例子32mg分为32和mg
- 苹果利用用户地址簿打造社交平台,抗衡Facebook?
- PHP autoload机制详解
- 羊皮卷之七-我要笑遍世界(中英对照)
- Unix环境高级编程第三章习题2(转载修改)
- 软件开发人员的“七重苦”
- Refactor反编译C#程序
- 标准SQL查询 总结练习
- checkbox用法
- MongoDB实战开发 【零基础学习,附完整Asp.net示例】
- 黑马程序员——Java基础——第一篇
- 异常处理之ThreadException、unhandledException及多线程异常处理
- 基本示例