今天把这块的东西算是看完了。总结一下,(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操作的更多相关文章

  1. 嵌入式GPIO接口及操作(二)

    目标:C语言实现点亮LED灯 首先是main函数,并不特殊,它是被系统调用来执行的,main函数结束后要返回调用main函数的地址处,那么裸机程序,没有操作系统做这些工作,就要自己写调用main函数的 ...

  2. .NET5.0 单文件发布打包操作深度剖析

    .NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...

  3. 用 JSP 实现对文件的相关操作

    前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解 ...

  4. PHP文件相关的操作函数——目录操作

    1.有关文件类型的函数 PHP是以UNIX的文件系统为模型的,因此在Windows系统中我们只能获得“file”.“dir”或者“unknown”三种文件类型.而在UNIX系统中,我们可以获得“blo ...

  5. C#对文件/目录的操作:Path、File、Directory、FileStream、StreamReader、StreamWriter等类的浅析

    以下类的命名空间都是:System.I/0; 一.Path:主要对文件路径的操作! 常用方法: String path=@"C:\a\b\c\123.txt"; 1-1.Path. ...

  6. 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法

    无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问.)” (Microsoft SQL Server,错误: 5120)的解决方法   问题描述: 在附加数据库到sql server时,附 ...

  7. java io流 对文件夹的操作

    java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...

  8. php对xml文件进行CURD操作

    XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: ...

  9. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

随机推荐

  1. csuoj 1505: 酷酷的单词

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1505 1505: 酷酷的单词 时间限制: 1 Sec  内存限制: 128 MB 提交: 340  ...

  2. Cocos2d-x PluginX (一)使用手册

    简介 Plugin-x是cocos2d-x最近版本中引入的特性,旨在解决第三方SDK接入的问题,最大程度的简化接入工作,增加可重用性.第一部分主要介绍PluginX如何使用,不涉及设计原理相关内容. ...

  3. 谨慎使用多线程中的fork

    // Upon successful completion, pthread_atfork() shall return a value of zero; otherwise, an error nu ...

  4. JS获取当前时间并把时间赋给input表单

    <script>window.onload = function(){ function getDate(){ debugger; var today = new Date(); var ...

  5. 关于学习Knockoutjs--入门(二)

    这两天终于闲一丢丢了,可以有多点时间学习一下拉.接下来要写到的还是Knockoutjs. Knockout是建立在以下3个核心功能之上的: 1. 属性监控与依赖跟踪 2. 声明式绑定 3. 模版机制 ...

  6. lua 操作中文字符串之截取和长度竖排显示

    前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过  \n  实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是 ...

  7. Spring并发访问的线程安全性问题

    Spring并发访问的线程安全性问题 http://windows9834.blog.163.com/blog/static/27345004201391045539953/ 由于Spring MVC ...

  8. javascript 字符转换为ascii码,ascii码转换为字符

    <script> str="A"; code = str.charCodeAt(); str2 = String.fromCharCode(code); str3 = ...

  9. manacher浅析

    manacher算法的输入是一个字符串,可以计算出以每个字符为中心的最长回文子串的半径.为了避免讨论奇数偶数,将原串的每两个字母之间以及前后各加一个特殊字母,比如'#',那么对于abcbb就变成了 # ...

  10. Lucas定理

    Lucas' theorem In number theory, Lucas's theorem expresses the remainder of division of the binomial ...