Linux系统入门之-系统编程【open、close函数】

继上一篇环境配置后就正式开始系统编程

RK3568开发板入门之-tftp&nfs的配置

open的使用,使用之前可以先在Ubuntu下查看帮助,了解open的使用和语法,如下:
man 2 open

在这里插入图片描述

对于open函数
*pathname:要打开的文件路径
flags:打开的方式 【
					O_RDONLY: 只读模式
					O_WRONLY: 只写模式
					O_RDWR : 读写模式
					O_NONBLOCK: 非阻塞模式
					O_APPEND: 追加模式
					O_CREAT: 创建并打开一个新文件
					O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
					O_EXCL: 如果指定的文件存在,返回错误
					】
mode:新建时候赋予文件的权限【rwx权限,这值和chmod修改文件类似的值r-4、w-2、x-1】

只有用到O_CREAT才需要用mode。

注意:mode最终赋予文件的权限需要和Ubuntu的umask有关。
终端输入 umask
在这里插入图片描述
所以最终的值:mode &= ~0002即mode &= 0775
例如:赋予文件0777的权限,实际文件的权限是775
在这里插入图片描述
在这里插入图片描述

在Linux中,进程是通过文件描述符 (file descriptors 简称fd)来访问文件的,文件描述符实际上是一个整数。

open的返回值 -1:打开失败,3-1023:打开成功的文件描述符。0 (代表标准输入),1 (代表标准输出),2 (代表标准错误)

对于close函数,这个就和内存操作一样申请内存后不用了就一定要释放。

close函数比较简单
在这里插入图片描述
fd:open打开成功后返回的文件描述符。
return:0:关闭成功。-1:关闭失败。

例子:
在这里插入图片描述
Ubuntu下编译运行结果:
在这里插入图片描述
编译到开发板运行
在这里插入图片描述
在这里插入图片描述

*纠错:上面的例子需要改成这 int main (int argv, char argc[]),入口参数的第二个参数错了。
刚刚入门开始学习,如有不合理的地方还望指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值