嵌入式文件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 ...
随机推荐
- Failed to execute request because the App-Domain could not be created.
原错误信息: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误 ...
- 使用Redis分布式队列
1.这是处理异常的类 public class MyExceptionAttribute:HandleErrorAttribute { //public static Queue<Excepti ...
- c3p0数据库连接池使用
- 解决jQuery ajax跨域问题,Google、IE、Firefox亲测有效
直接上最后的结果吧 JS: $.ajax({ type: "GET", async: false, crossDomain: true, url: "www.test.c ...
- 阿里云OneinStack数据库相关
阿里云OneinStack数据库相关必须进入oneinstack目录下执行相关命令 ===================================源码安装目录: Nginx:/usr/loca ...
- JAVA TcpServer端使用Scanner读取不到数据的解决办法
在使用JAVA进行Socket通信时,在Server端使用Scanner的nextLine()方法读取数据时,一直读取不到数据是因为Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫 ...
- Orcale与jfinal的添加时间问题
时间只能不能使用一般的方法进行添加,必须转换,比如添加当前时间,如上图所示
- ssh 免密码登录
1.在本机下生成公钥/私钥对. ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车.它在/home/yaoy ...
- Android-Universal-Image-Loader的缓存处理机制
讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西.看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制. ...
- Python学习笔记(0)
Python 是什么类型的语言 Python是脚本语言 Python下载地址:https://www.python.org/downloads/ Python版本:Python 3.4.2 - 64b ...