Linux基础部分的学习(3)- 文件编程


前言

在行进时,也时时有人退伍,有人落荒,有人颓唐,有人叛变,然而只要无碍于进行,则越到后来,这队伍也就越成为纯粹、精锐的队伍了。——鲁迅:


一、文件的打开和创建

在终端输入

man 2 open 

在这里插入图片描述

Flags : 
O_RDONLY :	只读打开		O_WRONLY 只写打开		O_RDWR  :可读可写打开
以上的要三个选其中一个,还有其他常数可以选择
O_CREAT  文件不存在的时候可以选择创建,需要第三个参数mode 用其说明文件的权限
O_EXCL 如果同时使用)o_creat,文件已经存在时会返回一个-1的数值啊。
O_APPEND 每次写的时候都加在文件的尾端

由代码可知文件打开会返回一个整型数,这个返回值就可以当成是文件索引的描述符
(该描述符在后续对文件的操作中极其重要!!!)

在这里插入图片描述

将描述符打印出来观看结果
在文件存在时 :fd = 3;(返回一个不是-1的数)

在这里插入图片描述

将打开的文件删除观察返回值			可以观察到返回值是-1(即文件没有找到并打开)

在这里插入图片描述

可以直接在程序中创建文件

在这里插入图片描述

观察文件权限

ls -l

在这里插入图片描述

r - 可读    w - 可写   x - 可执行

二、文件写入操作

man 2 write

在这里插入图片描述
上文我们创建了一个新的文件file 打开文件是空的没有内容

在这里插入图片描述

写入Hello_world  (要注意包含头文件)

:
在这里插入图片描述

打开file观察是否写入成功  

在这里插入图片描述

三、文件读取操作:

man 2 read (观察read函数)

在这里插入图片描述

用cp指令新建一个文件存放上文代码,在该基础上修改

在这里插入图片描述

注意事项 :在文件写入内容时候要注意光标位置,此时光标位置在内容的文末位置,
此时读取文件会在光标后进行读取!!!读取结果会空白!!!
在该程序中,通过重新打开文件的方式让光标重新回到数据起始位,在进行读取!!!

编译程序观察现象
在这里插入图片描述
除了上述的重新打开文件移动光标的方法,在Linux中也提供了移动文件光标的函数

man lseek  (将文件读写指针相对whence 移动 offset 个字节)

在这里插入图片描述

参数  SEEK_SET   文件头的位置
      SEEK_END   文件尾的位置
       SEEK_CUR   文件当前位置

在这里插入图片描述

运行结果一致

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值