Linux 下I/O操作
一、文件IO
文件 IO 是 Linux 系统提供的接口,针对文件和磁盘进行操作,不带缓存机制;标准IO是C 语言函数库里的标准 I/O 模型,在 stdio.h 中定义,通过缓冲区操作文件,带缓存机制。
标准 IO 和文件 IO 常用 API 如下:

文件 IO 是直接调用内核提供的系统调用函数,头文件是 unistd.h,标准IO 是间接调用系统调用函数,头文件是 stdio.h,文件 IO 是依赖于 Linux 操作系统的,标准 IO 是不依赖操作系统的,所以在任何的操作系统下,使用标准 IO,也就是 C 库函数操作文件的方法都是相同的。
1.1、open()

参数 flags 可选标志:
O_CREAT 要打开的文件名不存在时自动创建改文件。
O_EXCL 要和 O_CREAT 一起使用才能生效,如果文件存在则 open()调用失败。
O_RDONLY 只读模式打开文件。
O_WRONLY 只写模式打开文件。
O_RDWR 可读可写模式打开文件。
O_APPEND 以追加模式打开文件。
O_NONBLOCK 以非阻塞模式打开。
1.2、close()

1.3、read()

1.4、write()

1.5、lseek()
所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为cfo。cfo 通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于cfo,并且使cfo 增大,增量为读写的字节数。文件被打开时,cfo 会被初始化为 0,除非使用了 O_APPEND 。使用lseek 函数可以改变文件的 cfo 。

二、目录 IO
2.1、mkdir()

2.2、opendir()/closedir()

2.3、readdir()


相关文章:
Linux 下I/O操作
一、文件IO 文件 IO 是 Linux 系统提供的接口,针对文件和磁盘进行操作,不带缓存机制;标准IO是C 语言函数库里的标准 I/O 模型,在 stdio.h 中定义,通过缓冲区操作文件,带缓存机制。 标准 IO 和文件 IO 常…...
C#内映射lua表
都是通过同一个方法得到的 例如得到List List<int> list LuaMgr.GetInstance().Global.Get<List<int>>("testList"); 只要把Get的泛型换成对应的类型即可 得到Dictionnary Dictionary<string, int> dic2 LuaMgr.GetInstance().Global…...
android studio检测不到真机
我的情况是: 以前能检测到,有一天我使用无线调试,发现调试有问题,想改为USB调试,但是半天没反应,我就点了手机上的撤销USB调试授权,然后就G了。 解决办法: 我这个情况比较简单&…...
【Eclipse】设置自动提示
前言: eclipse默认有个快捷键:alt /就可以弹出自动提示,但是这样也太麻烦啦!每次都需要手动按这个快捷键,下面给大家介绍的是:如何设置敲的过程中就会出现自动提示的教程! 先按路线找到需要的页…...
单片机TDL的功能、应用与技术特点 | 百能云芯
在现代电子领域中,单片机(Microcontroller)是一种至关重要的电子元件,广泛应用于各种应用中。TDL(Time Division Multiplexing,时分多路复用)是一种数据传输技术,结合单片机的应用&a…...
解决笔记本无线网络5G比2.4还慢的奇怪问题
环境:笔记本Dell XPS15 9570,内置无线网卡Killer Wireless-n/a/ac 1535 Wireless Network Adapter,系统win10家庭版,路由器H3C Magic R2Pro千兆版 因为笔记本用的不多,一直没怎么注意网络速度,直到最近因为…...
GitHub Action 通过SSH 自动部署到云服务器上
准备 正式开始之前,你需要掌握 GitHub Action 的基础语法: workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。name: 工作流的名称。on: 指定次工作流的触发器。push 表示只要有人将更改推…...
【AOP系列】7.数据校验
在Java中,我们可以使用Spring AOP(面向切面编程)和自定义注解来做数据校验。以下是一个简单的示例: 首先,我们创建一个自定义注解,用于标记需要进行数据校验的方法: import java.lang.annotat…...
黑马JVM总结(三十七)
(1)synchronized-轻量级锁-无竞争 (2)synchronized-轻量级锁-锁膨胀 重量级锁就是我们前面介绍过的Monitor enter (3)synchronized-重量级锁-自旋 (4)synchronized-偏向锁 轻量级锁…...
企业如何通过媒体宣传扩大自身影响力
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 企业可以通过媒体宣传来扩大自身的影响力。可以通过以下的方法。 1. 制定媒体宣传战略: - 首先,制定一份清晰的媒体宣传战略,明确您的宣传目标、目标…...
处理vue直接引入图片地址时显示不出来的问题 src=“[object Module]“
在webpack中使用vue-loader编译template之后,发现图片加载不出来了,开发人员工具中显示src“[object Module]” 这是因为当vue-loader编译template块之后,会将所有的资源url转换为webpack模块请求 这是因为vue使用的是commonjs语法规范&…...
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
vue3 v-md-editor markdown编辑器和预览组件的使用 概述安装支持vue3版本使用1.使用markdown编辑器 VMdEditor2.markdown文本格式前端渲染 VMdPreview 例子效果代码部分 完整代码 概述 v-md-editor 是基于 Vue 开发的 markdown 编辑器组件 轻量版编辑器 轻量版编辑器左侧编辑…...
java正则表达式 及应用场景爬虫,捕获分组非捕获分组
正则表达式 通常用于校验 比如说qq号 看输入的是否符合规则就可以用这个 public class regex {public static void main(String[] args) {//正则表达式判断qq号是否正确//规则 6位及20位以内 0不能再开头 必须全是数子String qq"1234567890";System.out.println(qq…...
基于 Debian 稳定分支发行版的Zephix 7 发布
Zephix 是一个基于 Debian 稳定版的实时 Linux 操作系统。它可以完全从可移动媒介上运行,而不触及用户系统磁盘上存储的任何文件。 Zephix 是一个基于 Debian 稳定版的实时 Linux 操作系统。它可以完全从可移动媒介上运行,而不触及用户系统磁盘上存储的…...
MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸
编辑:ll MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸 型号:MBR20100CT 品牌:ASEMI 芯片个数:2 封装:TO-220 恢复时间:>50ns 工作温度:-65C~175C 浪涌电流:…...
修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库)
一:安装docker。(所有服务器都要安装) 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/cent…...
github: kex_exchange_identification: Connection closed by remote host
问题描述 (base) ➜ test git:(dev) git pull kex_exchange_identification: Connection closed by remote host Connection closed by 192.30.255.113 port 22 致命错误:无法读取远程仓库。解决方案 参照下边文档 https://docs.github.com/en/authentication/tr…...
AWS香港Web3方案日,防御云安全实践案例受关注
9月26日,AWS合作伙伴之Web3解决方案日在香港举办。来自人工智能、Web3等领域的创业公司、技术专家、风险投资商,就元宇宙时代未来发展进行了深入交流。现场展示了顶象防御云在金融与Web3领域的安全实践案例。 Web3为互联网体系架构的一个整体演进和升级&…...
QT 集成MQTT过程
1 编译库文件 Qt QtMqtt官方源码编译教程_“qtmqtt/qmqttglobal.h”: no such file or directory-CSDN博客 2 参考文献 Qt开发MQTT(一) 之Qt官方Qt MQTT-CSDN博客 QTMQTT 使用MQTT官方库_qt mqtt 官方库-CSDN博客...
GeoServer改造Springboot启动五(解决接口返回xml而不是json)
请求接口返回的是xml,而不是我们常用的json,问题呈现如下图 40 图 40请求接口返回XML 在RequestMapping注解上增加produces {MediaType.APPLICATION_JSON_UTF8_VALUE} 图 41增加produces...
攻克:C8051Fxxx uVision驱动在Keil Debug中“隐身”的安装与配置实战
1. 问题背景与现象分析 第一次接触C8051Fxxx系列芯片的开发者,大概率会在Keil uVision环境中遇到一个让人抓狂的问题:明明按照官方文档安装了驱动,但在Debug选项列表中死活找不到"C8051Fxxx uVision"这个关键驱动。我当年接手公司一…...
构建企业级安全运维体系:从SSH堡垒机到自动化管控平台
1. 项目概述:从“GMSSH/GMClaw”看现代远程访问与管理的演进最近在和一些做基础设施和运维的朋友交流时,他们频繁提到一个组合词:“GMSSH/GMClaw”。乍一听,这像是一个内部代号或者某个新工具的名字。深入聊下去才发现,…...
基于OpenClaw构建AI智能体:从RAG到自动化工作流的实战指南
1. 项目概述:一个开源AI应用案例的“藏宝图”最近在GitHub上闲逛,发现了一个挺有意思的仓库,叫awesome-openclaw-usecases-zh。光看名字,就能拆解出几个关键信息:“awesome”系列(意味着是精选合集…...
独立开发者如何借助Taotoken的Token Plan有效控制月度AI支出
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何借助Taotoken的Token Plan有效控制月度AI支出 对于独立开发者和小型团队而言,大模型API的调用成本是一个…...
无显式ID推荐系统:从冷启动到跨域泛化的核心技术解析
1. 项目概述:当推荐系统“看不见”用户与物品在推荐系统这个领域里干了十几年,我见过太多模型把“用户ID”和“物品ID”当作理所当然的输入。这就像我们认识一个人,首先记住的是他的名字和长相。传统的协同过滤(Collaborative Fil…...
【信息科学与工程学】【制造工程】【通信工程】第一百零一篇 2nm 200Tbps+核心交换机全尺度参数宇宙构建框架05
围绕芯片、单板、交换网卡等层级,重点扩展“信息处理”中的“内存/存储器”子系统相关参数,并覆盖其他关键方面。 衬底、互连、介质,但光刻胶、清洗液、研磨液、封装胶、键合线、TIM材料、探针卡、载带、保护涂层、清洗溶剂、掺杂剂、气体、抗反射涂层、对准标记、硅化物、…...
戴尔笔记本风扇控制神器:DellFanManagement让你的设备更安静更高效
戴尔笔记本风扇控制神器:DellFanManagement让你的设备更安静更高效 【免费下载链接】DellFanManagement A suite of tools for managing the fans in many Dell laptops. 项目地址: https://gitcode.com/gh_mirrors/de/DellFanManagement 你是否曾在深夜工作…...
终极免费打字练习软件Qwerty Learner:提升英语输入速度的完整指南
终极免费打字练习软件Qwerty Learner:提升英语输入速度的完整指南 【免费下载链接】qwerty-learner 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers 项目地址: …...
ArcGIS栅格计算器还能这么玩?一个‘土办法’搞定土壤侵蚀分级(附替代Con函数的数值映射技巧)
ArcGIS栅格计算器的数值映射技巧:突破Con函数限制的土壤侵蚀分级方案 引言:当标准工具遇到非标准问题 在GIS分析工作中,栅格计算器堪称瑞士军刀般的存在。但真正经历过复杂空间分析的人都知道,这把"军刀"有时会意外卡…...
技能开发套件(SDK)设计:从模块化到事件驱动的开发者效率工具
1. 项目概述:一个被低估的开发者效率工具如果你是一名开发者,尤其是经常需要与各种API、服务或硬件设备打交道的全栈或嵌入式工程师,那么你一定经历过这样的场景:为了测试一个新接口,你需要写一堆样板代码来初始化连接…...
