首页/新闻资讯/正文详情

Day4-Linux软件编程(文件IO和目录IO输入输出(3))

发布时间:2026/11/11 4:05:51 来源:云帆数科 栏目:资讯中心
Day4-Linux软件编程(文件IO和目录IO输入输出(3))
今天要学习文件IO和目录IO的一些操作了解了标准IO与文件IO还有目录IO这三者的区别以及系统调用和库函数调用的一些区别文件IO的接口openreadclosewrite还有一些函数接口一.文件IO1标准IO与文件IO的区别1.标准IO是库函数2.标准IO是对文件IO的封装3.有缓存不适合操作设备文件、通信相关文件2.文件IO1.文件IO是系统调用2.是没有缓存的可以用于操作设备文件和通信相关文件3.系统调用和库函数的区别1. 库函数.对系统调用的封装最终会调用系统调用完成功能.库函数移植性比较好2.系统调用1.Linux内核中的函数接口2.移植性差4.函数接口1.open标准IO 文件IO r O_RDONLY r O_RDWR w O_WRONLY | O_CREAT | O_TRUNC, 0664 w O_RDWR | O_CREAT | O_TRUNC, 0664 a O_WRONLY | O_CREAT | O_APPEND, 0664 a O_RDWR | O_CREAT | O_APPEND, 066int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); 功能 打开文件 参数 pathname:打开文件的路径 flags: O_RDONLY 只读 O_WRONLY 只写 O_RDWR 读写 O_CREAT 文件不存在创建 必须启用第3个参数mode rwxrwxrwx rw-rw-r-- O_EXCL 文件存在报错 O_TRUNC 文件存在清0 O_APPEND 追加 返回值 成功返回文件描述符 失败返回-1文件描述符规律总是取最小的非负整数三个默认打开的文件描述符0标准输入1标准输出2标准错误2.writessize_t write(int fd, const void *buf, size_t count); 功能 向文件描述符中写入buf开始的count个字节 参数 fd:文件描述符 buf:要写入的数据空间的首地址 count:写入的字节数 返回值 成功返回实际写入字节数 失败返回-13.readssize_t read(int fd, void *buf, size_t count); 功能 尝试从文件描述符fd中接收count个字节存入buf开始的空间中 参数 fd:文件描述符 buf:存放数据的空间首地址 count:尝试读取的字节数 返回值 成功返回实际读到的字节数 失败返回-1 读到文件末尾返回04.lseekoff_t lseek(int fd, off_t offset, int whence); 功能 定位文件描述符的偏移量到whence相关联的offset的位置 参数 fd:文件描述符 offset:偏移量 whence:SEEK_SET SEEK_CUR SEEK_END 返回值 成功返回偏移量 失败返回-12.目录IO1.opendirDIR *opendir(const char *name); 功能 打开目录获得目录流指针 参数 name:目录的路径 返回值 成功返回目录流指针 失败返回NULL2.closedir6. getcwd 7. chdir int closedir(DIR *dirp); 功能 关闭目录流指针 参数 dirp:目录流指针 返回值 成功返回0 失败返回-13.readdirstruct dirent *readdir(DIR *dirp); 功能 从流中读取一个目录项 参数 dirp:目录流指针 返回值 成功返回目录项信息空间首地址 失败返回NULL 读到目录的末尾返回NULL struct dirent { ino_t d_ino; /* Inode number */ off_t d_off; /* Not an offset; see below */ unsigned short d_reclen; /* Length of this record */ unsigned char d_type; /* Type of file; not supported by all filesystem types */ char d_name[256]; /* Null-terminated filename */ };4.mkdirr进入目录是否能够读取目录下所有的目录项信息 w能够在目录下新建、删除文件 x是否能够进入目录5.rmdir6.getcwdchar *getcwd(char *buf, size_t size); 功能 获得当前程序的工作路径7.chdirint chdir(const char *path); 功能 修改当前程序的工作路径

相关推荐

4 个代码分割手段彻底拆掉 umi 首屏大包
4 个代码分割手段彻底拆掉 umi 首屏大包

4 个代码分割手段彻底拆掉 umi 首屏大包 【免费下载链接】umi A framework in react community ✨ 项目地址: https://gitcode.com/gh_mirrors/umi8/umi 首屏 JS 跑到 1.4MB,白屏就不只是几秒的问题了。umi build 跑完后 ls -lh dist/static,你会… · 2026/11/4 3:42:26

向 claude-motion 社区贡献作品:加入画廊与改进品味规则的指南
向 claude-motion 社区贡献作品:加入画廊与改进品味规则的指南

【免费下载链接】claude-motion A motion design toolkit for coding agents. 项目地址: https://gitcode.com/gh_mirrors/cl/claude-motion 点击查看 免费下载 claude-motion 是一个面向编码 Agent 的动效设计工具包(motion design toolkit&#xff09… · 2026/11/5 8:31:26

ikuai-bypass 安全实践指南:守护路由器账密与 WebUI 认证的 5 个关键设置
ikuai-bypass 安全实践指南:守护路由器账密与 WebUI 认证的 5 个关键设置

【免费下载链接】ikuai-bypass 爱快分流规则维护:自动将通过指定的远程配置文件把区域ip,域名等,整理到爱快,实现旁路由自动切换,域名分流、端口分流(IP分组分流)、自定义运营商、广告屏蔽等 项… · 2026/11/5 14:22:04

郫都电工作业证怎么考?内部消息告诉你考不过怎么办
郫都电工作业证怎么考?内部消息告诉你考不过怎么办

郫都电工作业证怎么考?内部消息告诉你考不过怎么办 怕考不过白交培训费?郫都电工作业证的考试流程和备考策略你了解多少?别急,内部消息来了,带你一步步看清楚。考前准备不到位,真的可能竹篮打水一场空,特别是对于在工地现场工作的你,证书就是你的“敲… · 2026/11/11 4:05:22

太原登高架设作业证值不值得考?工地太忙根本没时间复习考试
太原登高架设作业证值不值得考?工地太忙根本没时间复习考试

太原登高架设作业证值不值得考?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这几乎是所有一线施工人员的心声,特别是那些需要办理太原登高架设作业证的工人。说实话,现在项目赶进度、工期紧,谁还有闲工夫去复习那些考试内容?但问题是,如果… · 2026/11/11 4:05:22

考电工证从哪里查成绩?良心建议来了,别再被中介坑了!
考电工证从哪里查成绩?良心建议来了,别再被中介坑了!

考电工证从哪里查成绩?良心建议来了,别再被中介坑了! 你是不是也这样?手里拿着电工证,却不知道怎么查成绩,或者连考试结果都搞不清楚?别急,今天就给你一个 良心建议 ,让你避开中介坑,掌握查成绩的正规渠道。特别是 鹤壁市政公用工程从业者… · 2026/11/11 4:05:22

职业电工证的用途有哪些?良心建议帮你避坑不白交培训费
职业电工证的用途有哪些?良心建议帮你避坑不白交培训费

职业电工证的用途有哪些?良心建议帮你避坑不白交培训费 怕考不过白交培训费?职业电工证的用途可不止一张纸这么简单。很多人花钱报班,却对证书到底有什么用、能干啥一知半解,结果考试没过,钱打水漂,还得重新报班。今天我就从安阳市政公用工程从业者的角… · 2026/11/11 4:05:22

高級电工证怎么考才能稳过?上岗必备实操技巧全解析
高級电工证怎么考才能稳过?上岗必备实操技巧全解析

高級电工证怎么考才能稳过?上岗必备实操技巧全解析 实操考试心里没底怕挂科?你不是一个人。很多人拿到高級电工证的资格后,最怕的不是理论考试,而是实操现场手忙脚乱,一不小心就挂科,耽误工期、影响项目进度,甚至影响收入。尤其是像洛阳涧西区这类项目… · 2026/11/11 4:05:22

低压电工作业考试真题培训机构怎么选多少钱
低压电工作业考试真题培训机构怎么选多少钱

低压电工作业考试真题培训机构怎么选多少钱 之前考的证在外省能不能转过来?这个问题几乎每个准备考低压电工证的人都问过。特别是像你在洛阳涧西区从事市政公用工程的工人,可能早就听说过“证能跨省用”这种说法,但真正操作起来,才发现事情没那么简单。今… · 2026/11/11 4:04:22

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/10 2:16:10

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43

_中职电工证最新政策解读
_中职电工证最新政策解读

中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52

昆明电工证培训价格值不值得考?老电工告诉你真相
昆明电工证培训价格值不值得考?老电工告诉你真相

昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52

特种电缆张工网上查询全攻略:外省证如何转过来
特种电缆张工网上查询全攻略:外省证如何转过来

特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码