Dup2 文件描述符复制|学习笔记

简介: 快速学习 Dup2 文件描述符复制

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频Dup2 文件描述符复制 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11031


Dup2 文件描述符复制

 

dup2 函数 重定向

#include<unistd.h>

Int dup2(int oldfd, int newfd)

1. 功能:

复制一份打开的文件描述符 oldfd,并分配新的文件描述符 newfd,newfd 也标识oldfd 所标识的文件。

2.注意:

newfd 是小于文件描述符最大允许值的负整数,如果 newfd 是一个已经打开的文件描述符,则首先关闭该文件,然后再复制。

3.参数:

要复制的文件描述符 oldfd

分配的新的文件描述符 newfd

4. 返回值

成功:返回 newfd

失败:返回-1,错误代码存于errno中

代码如下:

#include<stdio.h>

#include<unistd.h>

#include<sys/types.h>

#include<sys/stat.h>

#include <fcnt1.h>

 int main(int argc, char *argv[])

{

int fd ,new_fd;

fd=open(“./test.txt”,O_RDWR);

if(fd<0)

{

perror(“open”);

return 0;

}

new_fd = dup2(fd,1);//new_fd的值为1

printf(“new_fd=%d\n”,new_fd);

printf(“hello world\n);

write(1,”hello kitty”,11);

结果如下:

hello kittynew fd=1

hello world

能够实现文件描述符的复制,而且不用保证1最小可用,直接指定new_fd为1即可。

相关文章
|
自然语言处理 算法
带你读《图解算法小抄》二十四、字符串(1)
带你读《图解算法小抄》二十四、字符串(1)
199 0
|
芯片 异构计算 内存技术
关于SPI协议,看这一篇文章就够了!
关于SPI协议,看这一篇文章就够了!
1454 0
关于SPI协议,看这一篇文章就够了!
|
8月前
|
人工智能 自然语言处理 IDE
通义灵码:AI赋能编程,开启智能开发新时代
通义灵码是阿里云推出的一款专为开发者设计的智能编程助手,基于自主研发的大模型打造。它不仅具备代码生成、智能补全、代码优化和实时调试等功能,还通过垂直领域深度训练、多语言全栈支持以及与主流IDE无缝集成,大幅提升开发效率。真实案例显示,通义灵码可显著减少编码时间和错误率,助力开发者专注于业务逻辑。未来,它还将进一步理解业务需求、参与代码评审和跨团队协作,重新定义软件开发范式。立即体验,让AI赋能每一行代码!
596 8
|
JSON Shell Linux
docker-registry 私有仓库镜像 之 查看与删除
docker-registry 私有仓库镜像 之 查看与删除
3404 0
计算机组成原理(9)----硬布线控制器
计算机组成原理(9)----硬布线控制器
592 1
|
11月前
|
存储 人工智能 数据可视化
拍汉服照,自动调色超厉害的软件是什么?摄影师 2025 新春必备!
在汉服制作与租赁行业蓬勃发展的背景下,2025蛇年新春为摄影师带来了更多机遇。高质量的摄影作品至关重要,合适的自动调色和团队协作软件能极大提升效率。推荐6款软件助力摄影师:板栗看板提供清晰流程管理和实时沟通;Luminar智能调色一键打造古风;Capture One精准色彩管理还原汉服本色;Darktable开源免费且功能强大;On1 Photo RAW综合功能强大并引入AI技术;Polarr移动端便捷调色。这些工具将帮助摄影师在新春期间大放异彩,同时确保团队协作顺畅高效。
389 1
|
前端开发
基于jeecg-boot的flowable流程增加部门经理审批功能
基于jeecg-boot的flowable流程增加部门经理审批功能
517 0
|
人工智能 算法 NoSQL
GraphRAG 与 RAG 的比较分析
Graph RAG 技术通过引入图结构化的知识表示和处理方法,显著增强了传统 RAG 系统的能力。它不仅提高了信息检索的准确性和完整性,还为复杂查询和多步推理提供了更强大的支持。
1885 10
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
566 0
|
运维 资源调度 定位技术
【技术大图】手把手教你搭建生信分析高性能计算平台
生物医药行业产生PB级海量数据,需专业生信分析平台支持。本技术地图涵盖平台搭建全流程:从架构设计、关键技术解析,到标准化分析流程介绍及部署优化策略,助力IT团队高效构建生信算力平台。立即下载完整版!
564 1