[C] 创建目录_mkdir()函数

本文介绍了在C语言中使用mkdir函数创建目录的方法,包括两种方式:直接使用direct.h头文件和使用Linux下的mkdir函数。同时,文章提到了如何判断目录是否存在,以及创建多级目录的实现代码。此外,还讨论了更改文件权限的相关函数chmod。
摘要由CSDN通过智能技术生成

  在使用面函数的时候,容易出现找不到头文件,可以通过Linux下的find命令查找是否存在其他目录中(find /usr/include -name "io.h"),然后将其拷贝到“/usr/include/”目录下,一般需要root权限。

一、创建目录

共有两种方式,可以选择其中一种,推荐第二种,可以直接设置权限。

1.1 direct.h 头文件

int mkdir(const char *path,mode_t mode);
函数名: mkdir   
功 能: 建立一个目录   
用 法: int mkdir( const char *dirname );   
头文件库:direct.h   
返回值:创建一个目录,若成功则返回0,否则返回-1

1.2 Linux下mkdir函数
头文件库:

#include <sys/stat.h>

#include <sys/types.h>

函数原型: int mkdir(const char *pathname, mode_t mode);

函数说明: mkdir()函数以mode方式创建一个以参数pathname命名的目录,mode定义新创建目录的权限。

返回值: 若目录创建成功,则返回0;否则返回-1,并将错误记录到全局变量errno中。

mode方式:

S_IRWXU 00700权限,代表该文件所有者拥有读,写和执行操作的权限
S_IRUSR(S_IREAD) 00400权限,代表该文件所有者拥有可读的权限
S_IWUSR(S_IWRITE) 00200权限,代表该文件所有者拥有可写的权限
S_IXUSR(S_IEXEC) 00100权限,代表该文件所有者拥有执行的权限
S_IRWXG 00070权限,代表该文件用户组拥有读,写和执行操作的权限
S_IRGRP 00040权限,代表该文件用户组拥有可读的权限
S_IWGRP 00020权限,代表该文件用户组拥有可写的权限
S_IXGRP 00010权限,代表该文件用户组拥有执行的权限
S_IRWXO 00007权限,代表其他用户拥有读,写和执行操作的权限
S_IROTH 00004权限,代表其他用户拥有可读的权限
S_IWOTH 00002权限,代表其他用户拥有可写的权限
S_IXOTH 00001权限,代表其他用户拥有执行的权限

 

1   用   int   access(const   char   *pathname,   int   mode);   判断有没有此文件或目录 --它区别不出这是文件还是目录
2   用   int   stat(const   char   *file_name,   struct   stat   *buf); 判断该文件或目录是否否存在 ;得到st_mode,然后判断是不是目录文件。 
    stat()系统调用看是否成功,不成功就不存在,成功判断返回的st_mode是否是一个文件夹。

********************************************************************
1.3 linux c关于目录是否存在,新建目录等操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值