嵌入式文件I/O操作
今天把这块的东西算是看完了。总结一下,(1)这里包括底层文件的I/O操作,实际上是系统调用函数借口,是基于文件描述符的文件操作;(2)还有标准I/O操作,是基于缓冲流的文件操作;还有(3)串口的操作,串口是设备文件“/dev”目录下。
(1)基础的open(),read(),write(),sleek(),close()。
(2)串口是需要先配置再使用 (3)fopen(),fdopen(),freopen(),fclose(),fread(),fwrite(),getc(),fgetc(),getchar(),putc(),fputc(),putchar(),gets(),fgets(),puts(),fputs(),printf(),fprintf(),sprintf(),vprintf(),
vfprintf(),vsprintf()scanf(),fscanf(),sscanf(),opendir()fdopendir(),closedir()readdir().
(4)文件锁fcntl(),lockf()(不建议使用)
(5)多路复用select(),poll()
突然发现这些函数好多哦,每一个函数的语法写出来很费时间,就不写了。把实例代码都编写出来运行通过就可以了。
linux系统调用(集成unix系统调用最有用的部分)是在内核空间,往上是用户编程接口API(遵循POSIX标准)是在用户空间,再往上是系统命令和应用程序。
虚拟文件系统(VFS),抽象出各种文件系统公共的部分形成一个抽象层是系统内核的一部分,位于应用程序和真正的文件系统之间。
文件是以字符序列构成的信息载体。文件描述符,是一个非负的整数,是一个索引值,指向内核中每个进程打开文件的记录。linux支持的文件类型有:普通文件,目录文件,设备文件,链接文件,块设备文件,字符设备文件,管道文件,套接字文件。
文件描述符,文件描述符标志位,文件状态标志三者的区别
文件描述符:标识文件用的,就是一个数字,操作系统知道它对应哪一个以打开的文件。
文 件描述符标志(close_on_exec):仅仅是一个标志,当你f调用ork()创建了一个子进程,然后在子进程中调用了exec函数时就用到了该标志.意义是: 执行exec前是否要关闭这个文件描述符。
文件状态标志:可读,可写,锁。
贴个链接:
open()函数:http://blog.csdn.net/linux_loajie/article/details/43916677
http://www.xuebuyuan.com/2061960.html
文件描述符http://blog.csdn.net/cywosp/article/details/38965239
各函数的语法要点:http://blog.csdn.net/sunhy1021/article/details/4729104
嵌入式文件I/O操作的更多相关文章
- 嵌入式GPIO接口及操作(二)
目标:C语言实现点亮LED灯 首先是main函数,并不特殊,它是被系统调用来执行的,main函数结束后要返回调用main函数的地址处,那么裸机程序,没有操作系统做这些工作,就要自己写调用main函数的 ...
- .NET5.0 单文件发布打包操作深度剖析
.NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...
- 用 JSP 实现对文件的相关操作
前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解 ...
- PHP文件相关的操作函数——目录操作
1.有关文件类型的函数 PHP是以UNIX的文件系统为模型的,因此在Windows系统中我们只能获得“file”.“dir”或者“unknown”三种文件类型.而在UNIX系统中,我们可以获得“blo ...
- C#对文件/目录的操作:Path、File、Directory、FileStream、StreamReader、StreamWriter等类的浅析
以下类的命名空间都是:System.I/0; 一.Path:主要对文件路径的操作! 常用方法: String path=@"C:\a\b\c\123.txt"; 1-1.Path. ...
- 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问.)” (Microsoft SQL Server,错误: 5120)的解决方法 问题描述: 在附加数据库到sql server时,附 ...
- java io流 对文件夹的操作
java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...
- php对xml文件进行CURD操作
XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: ...
- 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】
一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...
随机推荐
- Js动态获取iframe子页面的高度总结
问题的缘由 产品有个评论列表引用的是个iframe,高度不固定于是引发这个总结. 方法1:父级页面获取子级页面的高度 给元素设置高度 这方法是用在父级页面里的,通过获取子级页面的高度给iframe设置 ...
- hibernate中load和get方法的区别
1.读取时机不同(当lazy=true的时候) load是采用延迟机制(load语句不读库,等使用非主键时才去读库),而get不采用延 迟机制(get语句时马上读库): 2.搜索不到数据时的情 ...
- JSP-12-使用过滤器和监听器
1 什么是过滤器及其工作方式 向Web应用程序的请求和响应添加功能的Web组建 过滤器可以统一的集中处理请求和响应 15.2 过滤器的实现 新建 filter ,注意此时是在 src中建立的(同cla ...
- kali无法输入中文
已经装了fcitx,之前都是可以用的,今天启动时发现无法切换出中文输入法 用 Fcitx config tool查看发现输入法表里面是空的 最后发现是启动时fcitx进程没自动运行,加入自动运行后重启 ...
- js中的undefined与null、空值的比较
最近在修改一个项目,总是报Js错误: 无法获取属性“length”的值: 对象为 null 或未定义 点开调试之后,惊奇的发现markerArr的值是undefined 所以我就将代码改成如下形式: ...
- atomic vs. nonatomic
Declaring a property atomic makes compiler generate additional code that prevents concurrent access ...
- 基于ubuntu-2.6.35内核的SDIO-WiFi驱动移植
一.移植环境: 1.主机:Ubuntu 10.10发行版 2.目标机:FS_S5PC100平台 3.交叉编译工具:arm-cortex_a8-linux-gn ...
- asp.net 之 购物车
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 【C++/Qt】Qt中的parent形参
在 派生类的构造函数初始化列表中 调用 父类的带有参数的构造函数,是为了初始化从父类继承来的成员变量.因为这些变量无法直接初始化,只能采用这种方式初始化. 而在qt中,MainWindow中的某成员变 ...
- ArcGIS Javascript地图上添加json数据格式的点
/** * 显示地图点. * json的格式[{"name":"name1","x":"x1","y" ...