关注、星标公众号,直达精彩内容

ID:嵌入式情报局

作者:情报小哥

1文件操作实战

上篇文章跟大家介绍了Linux系统调用的文件操作API函数,其实跟C语言中的文件读取操作差不多,所以今天小哥就利用那些API在Linux操作系统下面进行一些实战演示。

2文件操作演示

1、创建并写一个文件

解读一下

  • 该程序中需要使用到3个函数open、write和close,一般对于他们的使用都会使用到相应的头文件,可以使用上一节介绍的"man 2 函数名"来进行查找。

  • 比如使用open函数一般需要包含如下头文件,同时相关的参数也会在下面给出解释 :

  • 其中open函数的第二个参数表示打开的标志,常用的如下:

  • O_RDONLY:只读方式打开

  • O_WRONLY:只写方式打开

  • O_RDWR:可读可写方式打开

  • O_APPEND :表示追加方式打开,在文件末尾继续写入

  • O_CREAT :表示如果指定文件不存在,则创建这个文件

  • O_NONBLOCK :如果路径名指向 FIFO/块文件/字符文件,则把文件的打开和后继 I/O设置为非阻塞模式。

  • 其中open函数的第三个参数表示文件访问的初始值,在第二参数为create的时候有效,且与当前进程的用户掩码umask共同决定,常用的如下:

  • S_IRUSR /S_IREAD : 00400权限,代表该文件所有者具有可读取的权限。

  • S_IWUSR /S_IWRITE : 00200 权限,代表该文件所有者具有可写入的权限。

  • S_IXUSR /S_IEXEC : 00100 权限,代表该文件所有者具有可执行的权限。

实验现象

  • 上面的程序通过创建并打开文件,写入字符串并关闭。

  • 进一步查看所创建的文件,得到正确结果。

2、读取文件内容

解读一下

  • 上面代码以只读方式打开文件,并且读取里面的数据放到Buff里面打印输出,应该比较简单。

实验现象

  • 实验现象如下,并且成功打印了之前写入到文本中的数据。

3、文件定位

解读一下

  • 当最开始打开文件时,默认文件读写指针是指向第一个字节处,其后续的写入或者读取数据都是在该文件指针处开始进行操作。

  • 通过调用lseek函数我们可以重新定位文件读写指针,从而实现在文件的任意位置追加数据内容等。

  • 下面是lseek系统调用的解析:

  • 参数fd : 要操作的文件描述符

  • 参数offset : 相对于whence(基准)的偏移量(可正可负)

  • 参数whence : 分别为SEEK_SET(文件开头)、SEEK_CUR(文件指针当前位置)、SEEK_END(文件末尾)

  • 返回值:文件读写指针距文件开头的字节大小,出错,返回-1

实验现象

  • 上面的实验通过使用SEEK_END文件末尾并且偏移0来使用,那么最终返回文件指针相对文件开始字节个数,从而达到计算文件长度的目的,其输出结果如下图所示:

3最后

这里小哥就介绍了Linux系统调用文件操作几个非常重要的API,还有其他API比如access进行访问权限的访问等等,大家可以通过查找相关手册学习了解,或者下次使用到了具体查阅系统手册,今天就到这里了,下期见!

我是情报小哥,一个90后嵌入式自学玩家!

长按前往图中包含的公众号关注

该文件可能是只读的 或者您要访问的位置_Linux应用编程之文件操作 系统调用篇(下)...相关推荐

  1. 该文件可能是只读的 或者您要访问的位置_喔噢小贴士:如何保护PPT不被更改,将其设为只读...

    如果要阻止其他人对Microsoft PowerPoint演示文稿进行编辑,或者让其他人知道您发送的文件是最终版本,则可以将其设为只读.只需要几步点击. 注意:虽然将PowerPoint演示文稿设为只 ...

  2. python文件对象提供了3个读方法、分别是-python3 IO编程:文件读写

    打开文件对象 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从 ...

  3. 在xp中不能查看或更改文件夹的“只读”属性或“系统”属性解决方法

    在xp中不能查看或更改文件夹的"只读"属性或"系统"属性解决方法 症状  您可能会遇到下列任一症状: • 不能使用文件夹的"属性"对话框查看 ...

  4. Windows 无法删除文件夹的只读

    状况: 在XP 下,只读 前面的方框整个被填满成绿色底色(不是对勾), 在window 2003中是勾,但是是灰色的. 怎么改,都改不掉(但是里面的文件只读属性能改). 原因: 在Windows XP ...

  5. 无法删除文件夹的“只读”属性

    有关本文的 Microsoft Windows XP 和 Microsoft Windows Server 2003 版本,请参阅 326549  (http://support.microsoft. ...

  6. 服务器中所有文件夹变只读,我的电脑里全部文件夹属性都变成只读了改也改不过来...

    第一个方法:你用管理员身份进入电脑然后更改一下文件夹的属性. 隐藏文件看不到可以通过下面的方法显示出来:在文件夹选项里去掉'隐藏受保护的文件和文件夹'前面的勾选--应用--确定 试试能否显示出你所需要 ...

  7. 文件夹的“只读”属性

    小新用的是Win10系统,最近遇到一件很有意思的事情,特写此文以作纪念. 文件夹的"只读"属性有三种状态: (1)实心小黑块"■" (2)对勾"√&q ...

  8. win8系统计算机属性在哪个文件夹,Win8如何更改文件夹的只读或系统属性

    Win8更改文件夹的只读或系统属性的方法如下: 正常情况下通过右键属性只能更改文件的只读属性,系统属性则连相应选项都没有. 操作步骤: 1.右键点击该文件夹,单击"属性"设置出现如 ...

  9. win12服务器文件设置只读,如何在Win10系统中更改文件夹的只读或系统属性

    正常情况下通过右键属性只能更改文件的只读属性,系统win10属性则连相应选项都没有.那么如何在Win10系统中更改文件夹的只读或系统属性呢?下面跟着学习啦小编来一起了解下吧. 在Win10系统中更改文 ...

最新文章

  1. 苹果笔记本中为虚拟机扩充硬盘的方法
  2. iOS App Launch Option
  3. 操作系统源代码_国产操作系统“之光”?Windows XP绝密源代码泄露,BT种子已在网上疯传...
  4. java线程interu_Intel 10nm服务器U首曝:多线程性能提升118%
  5. 面向对象第一单元(表达式求导)总结体会
  6. Kiwi Syslog日志服务器的安装及配置使用
  7. 星界边境文本自动翻译机(高级版)使用说明
  8. Java程序员必读书籍推荐
  9. js基础-语法(switch)
  10. java 同比数据怎么算的_有当日数据和去年全年数据,如何通过公式做每日同比?...
  11. 机器取代人的智造年代,你靠什么掌舵?
  12. 井盖识别yolov5
  13. (附源码)springboot实验室预约管理系统 毕业设计 261141
  14. mp3文件怎么转换格式
  15. 解决IE11审查元素面板空白问题
  16. jQuery翻牌子抽奖效果(已知结果)
  17. 人脸识别 传统Haar与CNN比较
  18. Numpy基础知识(摘录笔记)
  19. Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
  20. matalb编辑器不显示代码

热门文章

  1. 厦大计算机学硕分数,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  2. java封装发送邮件的插件_基于Spring封装的Javamail实现邮件发送
  3. 页面加载事件html5,JavaScript页面加载事件实例讲解
  4. 中职读计算机什么专业好,读职校选择什么专业好一些
  5. python把数字逐一存入列表_python实现将range()函数生成的数字存储在一个列表中...
  6. html和css动画效果,css过渡和css动画的区别是什么?
  7. python数组取数_python 取数组
  8. 第三周博客作业西北师范大学|李晓婷
  9. 洛谷P3389 【模板】高斯消元法
  10. c# 开发window服务