嵌入式学习第二十一天——与目录操作相关的函数

1.打开目录

opendir

DIR *opendir(const char *name);
功能:
打开一个目录获得一个目录流指针
参数:name:目录名
返回值:成功返回目录流指针,失败返回NULL

2.读取目录

readdir

struct dirent *readdir(DIR *dirp);
功能:
从目录流中读取文件信息并将保存信息的结构体
地址返回
参数:dirp:目录流指针
返回值:包含文件信息的结构体,出错或者读到目录流末尾返回NULL

3.关闭目录

closedir

int closedir(DIR *dirp);
 功能:关闭之前已经打开的目录流对象
 参数:opendir的返回结果中目录流对象
 返回值:成功  0,失败   -1;

4.切换工作路径

chdir  作用与cd指令相同

int chdir(const char *path)

path:改变到的路径
返回值:成功返回0,失败返回-1

5.获得当前路径

getcwd 作用与pwd指令相同

char *getcwd(char *buf, size_t size);

参数:
buf:保存工作路径空间的首地址
size:保存路径空间的长度
返回值:成功返回包含路径空间的字符串首地址,失败返回NULL

6.创建目录

int mkdir(const char *pathname, mode_t mode);//777  666 --x--x--x
参数:
pathname:路径
mode:
mode & ~umask  0002

返回值:成功返回0,失败返回-1

7.删除目录

int rmdir(const char *pathname);
参数:
pathname:目录文件的名字
返回值:成功返回0,失败返回-1

作用与rm指令相同,rm用法为,rm + 目录名 + rf

8.获取文件的属性参数

int  stat(const  char  *path, struct stat *buf);

参数:
path: 文件的路径
buf:  属性存放空间的首地址
返回值:
成功返回0
失败返回-1

st_mode标志位

     000 000 000 100 000 000
     001 100 110 0

 000 000  000    000 000 000
|文件   | |设置| |文件权限 |  
|类型   | |组和|
          |用户|
          |ID  |

拓展:links属于硬链接,是将两个文件名指向同一个文件

symbolic link 是软链接,类似于快捷方式

同时man指令只能用于函数,无法用于结构体查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值