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即可。

相关文章
|
7月前
|
人工智能 自然语言处理 IDE
通义灵码:AI赋能编程,开启智能开发新时代
通义灵码是阿里云推出的一款专为开发者设计的智能编程助手,基于自主研发的大模型打造。它不仅具备代码生成、智能补全、代码优化和实时调试等功能,还通过垂直领域深度训练、多语言全栈支持以及与主流IDE无缝集成,大幅提升开发效率。真实案例显示,通义灵码可显著减少编码时间和错误率,助力开发者专注于业务逻辑。未来,它还将进一步理解业务需求、参与代码评审和跨团队协作,重新定义软件开发范式。立即体验,让AI赋能每一行代码!
547 8
|
开发框架 安全 .NET
技术好文共享:进程和线程的区别
技术好文共享:进程和线程的区别
129 0
|
2天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
253 116
|
17天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
11天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
650 220
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
886 61
|
9天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1471 157