当前位置: 首页 > news >正文

嵌入式day20

feof:

检测文件是否到达结尾

ferroe:

检测文件是否发生错误

标准IO之文件定位

fseek()

SEEK_END 指向最后一个字节的后一个,继续加,写文件,会将文件扩大

ftell()

获取文件大小

pos指向最后一个字节的下一位,如果需要进行复制操作,需要将pos复位到第一个字节

rewind()

文件复位,等效于 fseek(stream, 0, SEEK_END)

缓冲区:为了匹配高速和低速设备(内核里)

文件IO

操作系统为了方便用户使用系统功能而对外提供的一组系统函数,称之为系统调用。其中有一个 文件IO,一般都是对设备文件操作,当然也可以对普通文件进行操作。

文件IO 是一个基于Linux内核的没有缓存的IO机制

特性:

1、没有缓存区

2、操作对象不再是流(FILE*),而是文件描述符(int 0-1023)

3、文件描述符

很小的非负整数 int 0 - 1023

内核每打开一个文件就会获得一个文件描述符

unistd.h (posix 标准库)更靠近内核

stdio.h(c 库)

步骤:

open

read / write

close

函数接口:

open

打开或创建一个文件

pathname 文件名

flags 标签

中间用 | 隔开

mode 读写执行权限 (0666 / 0777)

返回值:

成功 返回文件描述符(fd)

失败 返回 -1

write

通过文件描述符向文件中输入字符串

fd 文件描述符

buf 要写入文件的字符串的首地址

count 写入字符的个数(填写buf的有效长度)

返回值:

成功 返回实际写入的个数(0不代表错误)

失败 返回 -1

close

read

通过文件描述符读取文件中的数据

fd 文件描述符

buf 存放数据空间的首地址

count 要读到数据的个数(可比实际的内容略大)

返回值:

成功 返回读到数据的个数

失败 返回-1

读到文件结尾 返回0

lseek

定位光标的位置

fd 文件描述符

offset 偏移量 正:向后偏移 负:向前偏移 零:不偏移

whence SEEK_SET SEEK_CUR SEEK_END

返回值:

成功 返回偏移量

失败 返回-1

覆盖写

cp:

-----------------------

嵌入式学习第二十天,今天学习了标准IO后面剩余的部分,同时也学习了文件IO的一些函数,还有标准IO的缓冲区的概念,要熟记缓冲区输出的条件。后面的学习继续加油啦!

http://www.lryc.cn/news/417061.html

相关文章:

  • UE4 SLUA IOS打包报错解决办法
  • SpringDI(依赖注入) 以及SpringIOC容器对Bean管理
  • 伯克利Linux系统管理: 脚本编写学习 课堂与实验(系统简洁保姆级学习)
  • 探索腾讯云AI代码助手的效能与实用性
  • 清华大学终于把Python整理成了《漫画书》
  • 有关Linux操作系统中僵尸进程与孤儿进程的理解
  • Go语言实现依赖注入
  • 不仅能防沉迷游戏的防沉迷软件(Python)
  • 数学建模--智能算法之鱼群算法
  • html+css+js前端作业qq音乐官网5个页面 带js
  • 【mars3d】加载超图s3m模型说明
  • LeetCode Hot100 二叉搜索树中第K小的元素
  • CBK-D5-安全测试与开发osg15、20、21
  • 期权杠杆与期货杠杆的区别是什么?
  • 数字人解决方案——音频驱动机器人
  • Linux Tcp 连接 状态 检测 处理
  • String respIson = objectMapper.writeValueAsString(response);
  • git squash、merge 、 rebase
  • 案例开发-日程管理2第一期(超详细教程、配备图文和源代码注释,没学过也能看懂)
  • c# 逻辑运算符和条件运算符
  • Linux驱动开发—设备树传递给内核,匹配驱动过程分析
  • 深入理解 Go 语言信号量 Semaphore
  • git——删除远程仓库中的文件或文件夹步骤图解(只是从远程仓库中删除,本地文件不受影响、不会被删除)
  • 详解贪心算法
  • LabVIEW工件表面瑕疵识别系统
  • LabVIEW水下根石监测系统
  • 探索全光网技术 | 全光网络技术方案选型建议三(医院场景)
  • 【C++语言】vector迭代器与常见oj题
  • 高职物联网智慧农业实训室建设方案
  • Pytorch 高效快速加载大规模数据集