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

本文介绍了RK3568开发板上配置tftp和nfs的过程,并详细讲解了Linux中的open函数用法,包括文件路径、打开模式、权限设置以及文件描述符的概念。同时提到了close函数的使用,强调了资源释放的重要性。示例代码展示了一个Ubuntu下的编译运行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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[]),入口参数的第二个参数错了。
刚刚入门开始学习,如有不合理的地方还望指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ching·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值