该文件可能是只读的 或者您要访问的位置_Linux应用编程之文件操作 系统调用篇(下)...
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应用编程之文件操作 系统调用篇(下)...相关推荐
- 该文件可能是只读的 或者您要访问的位置_喔噢小贴士:如何保护PPT不被更改,将其设为只读...
如果要阻止其他人对Microsoft PowerPoint演示文稿进行编辑,或者让其他人知道您发送的文件是最终版本,则可以将其设为只读.只需要几步点击. 注意:虽然将PowerPoint演示文稿设为只 ...
- python文件对象提供了3个读方法、分别是-python3 IO编程:文件读写
打开文件对象 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从 ...
- 在xp中不能查看或更改文件夹的“只读”属性或“系统”属性解决方法
在xp中不能查看或更改文件夹的"只读"属性或"系统"属性解决方法 症状 您可能会遇到下列任一症状: • 不能使用文件夹的"属性"对话框查看 ...
- Windows 无法删除文件夹的只读
状况: 在XP 下,只读 前面的方框整个被填满成绿色底色(不是对勾), 在window 2003中是勾,但是是灰色的. 怎么改,都改不掉(但是里面的文件只读属性能改). 原因: 在Windows XP ...
- 无法删除文件夹的“只读”属性
有关本文的 Microsoft Windows XP 和 Microsoft Windows Server 2003 版本,请参阅 326549 (http://support.microsoft. ...
- 服务器中所有文件夹变只读,我的电脑里全部文件夹属性都变成只读了改也改不过来...
第一个方法:你用管理员身份进入电脑然后更改一下文件夹的属性. 隐藏文件看不到可以通过下面的方法显示出来:在文件夹选项里去掉'隐藏受保护的文件和文件夹'前面的勾选--应用--确定 试试能否显示出你所需要 ...
- 文件夹的“只读”属性
小新用的是Win10系统,最近遇到一件很有意思的事情,特写此文以作纪念. 文件夹的"只读"属性有三种状态: (1)实心小黑块"■" (2)对勾"√&q ...
- win8系统计算机属性在哪个文件夹,Win8如何更改文件夹的只读或系统属性
Win8更改文件夹的只读或系统属性的方法如下: 正常情况下通过右键属性只能更改文件的只读属性,系统属性则连相应选项都没有. 操作步骤: 1.右键点击该文件夹,单击"属性"设置出现如 ...
- win12服务器文件设置只读,如何在Win10系统中更改文件夹的只读或系统属性
正常情况下通过右键属性只能更改文件的只读属性,系统win10属性则连相应选项都没有.那么如何在Win10系统中更改文件夹的只读或系统属性呢?下面跟着学习啦小编来一起了解下吧. 在Win10系统中更改文 ...
最新文章
- 苹果笔记本中为虚拟机扩充硬盘的方法
- iOS App Launch Option
- 操作系统源代码_国产操作系统“之光”?Windows XP绝密源代码泄露,BT种子已在网上疯传...
- java线程interu_Intel 10nm服务器U首曝:多线程性能提升118%
- 面向对象第一单元(表达式求导)总结体会
- Kiwi Syslog日志服务器的安装及配置使用
- 星界边境文本自动翻译机(高级版)使用说明
- Java程序员必读书籍推荐
- js基础-语法(switch)
- java 同比数据怎么算的_有当日数据和去年全年数据,如何通过公式做每日同比?...
- 机器取代人的智造年代,你靠什么掌舵?
- 井盖识别yolov5
- (附源码)springboot实验室预约管理系统 毕业设计 261141
- mp3文件怎么转换格式
- 解决IE11审查元素面板空白问题
- jQuery翻牌子抽奖效果(已知结果)
- 人脸识别 传统Haar与CNN比较
- Numpy基础知识(摘录笔记)
- Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
- matalb编辑器不显示代码
热门文章
- 厦大计算机学硕分数,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
- java封装发送邮件的插件_基于Spring封装的Javamail实现邮件发送
- 页面加载事件html5,JavaScript页面加载事件实例讲解
- 中职读计算机什么专业好,读职校选择什么专业好一些
- python把数字逐一存入列表_python实现将range()函数生成的数字存储在一个列表中...
- html和css动画效果,css过渡和css动画的区别是什么?
- python数组取数_python 取数组
- 第三周博客作业西北师范大学|李晓婷
- 洛谷P3389 【模板】高斯消元法
- c# 开发window服务