[Linux系统编程]目录操作函数

操作系统主要靠两个结构体来维护一个文件,分别是dentry和inode

在这里插入图片描述如下图所示,操作系统对于一个文件的管理模式
在这里插入图片描述
硬链接的本质就是创建一个新的目录项dentry,虽然文件名不同,但指向的是同一个inode节点,所以修改一个硬链接,其它文件的内容也会随之改变,本质上修改的是同一处磁盘空间
在这里插入图片描述

一.目录操作函数

目录也是一种文件,它存放其下的目录项

1.oepndir

所需头文件:
#include<unistd.h>
#include<dirent.h>

DIR* = opendir(const char * )
用于打开一个目录,返回一个目录结构体指针(DIR类型),失败返回NULL
在这里插入图片描述

2.readdir

reddir函数用于读取目录,每次读取一个目录项,返回一个目录项结构体指针(dirent类型),一个dirent结构体中包含d_ino(inode编号),d_name(文件名)等内容。

dirent * = readdir(DIR*dirp)
当读取到目录流末时,返回NULL

在这里插入图片描述

3.closedir

与文件关闭不同,关闭目录流用的是closedir(DIR* );
通过以opendir返回的DIR指针做参数,关闭目录流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值