linux编程-文件操作(4)
来源:互联网 发布:软件instagram下载 编辑:程序博客网 时间:2024/06/04 20:20
文件描述符号拷贝dup
一、接口说明
#include <unistd.h>
int dup(int oldfd);
int dup2(int oldfd, int newfd);
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <fcntl.h> /*Obtain O_* constant definitions */
#include <unistd.h>
int dup3(int oldfd, int newfd, int flags);
非原子操作
int fdDup3 = 101;
Close(fdDup3)
fdTmp = fcntl(fdLog, F_DUPFD, fdDup3);
备注:
Dup在拷贝文件描述符时,会清除close-on-exec
api接口说明可通过man dup查询
二、代码案例
intfdDup1 = dup(fdLog);
if(fdDup1 != -1)
{
ReadFile(fdDup1);
close(fdDup1);
}
intfdDup2 = 100;
intfdTmp = dup2(fdLog, fdDup2);
if(fdTmp != fdDup2)
{
printf("Copyfd to 100 failed");
}
else
{
ReadFile(fdDup2);
close(fdDup2);
}
intfdDup3 = 101;
fdTmp= fcntl(fdLog, F_DUPFD, fdDup3);
if(fdTmp != fdDup3)
{
printf("Copyfd to 100 failed");
}
else
{
ReadFile(fdDup3);
close(fdDup3);
}
三、执行结果
- linux编程-文件操作(4)
- Linux 文件操作编程
- linux-C编程-文件操作
- linux应用编程:文件操作
- linux编程-文件操作(1)
- linux编程-文件操作(2)
- linux编程-文件操作(3)
- linux编程-文件操作(5)
- linux-C编程-文件操作
- [Linux C编程]文件操作
- [Linux C编程]文件操作
- linux编程之文件操作
- linux编程之文件操作
- [Linux C编程]文件操作
- Linux 系统调用文件编程(文件操作)
- Linux编程练习 --文件基本操作1
- 在Linux中编程的文件操作
- Linux环境编程--文件基本操作
- NGUI 3.5教程(八)Scroll Bar 滚动条-制作聊天框
- 无类型数据排序实现
- 【leetcode 字符串处理】Compare Version Numbers
- jQuery对象的动画处理
- Unity网格合并_材质合并(待续)
- linux编程-文件操作(4)
- 调和级数
- 【Cocos2d-x】可以显示在线图片的CCSprite
- 素数的筛选找法
- xcode开发入门印象
- Intellij Idea快捷键(mac版)
- NGUI 3.5教程(九)Scroll view - 制作【商店】和【背包】(待续)
- Cortex系列M0-4简单对比
- 动态规划—求最长字符串子序列