Linux下代码实现创建目录mkdir

Linux下代码实现创建目录mkdir,第1张

Linux下mkdir函数

头文件库:

1. 创建目录

      #include <sys/stat.h>

      #include <sys/types.h>

      int mkdir(const char *pathname, mode_t mode)

运用条件:只能在已存在的目录下建立一级子目录

返回值:  返回0表示成功,返回-1表述出错。

mode 表示新目录的权限,可以取以下值:

其中,mode就用0777,0755这种形式。

2. 判断一个目录是否存在

可以使用opendir来判断,这是比较简单的办法。

      #include <sys/types.h>

      #include <dirent.h>

      DIR *opendir(const char *name)

***********************************

#include<stdio.h>

#include<string.h>

#include<errno.h>

#include<unistd.h>

#include<dirent.h>

#include<sys/types.h>

#include<sys/stat.h>

extern int errno

#define MODE (S_IRWXU | S_IRWXG | S_IRWXO)

int mk_dir(char *dir)

{

    DIR *mydir = NULL

    if((mydir= opendir(dir))==NULL)//判断目录

    {

      int ret = mkdir(dir, MODE)//创建目录

      if (ret != 0)

      {

          return -1

      }

      printf("%s created sucess!/n", dir)

    }

    else

    {

        printf("%s exist!/n", dir)

    }

    return 0

}

opendir和readdir等都是库函数,想在内核中调用是不可能的。 Unix把directory看作file,

在file_operations中有readdir成员,inode_operations中有rmdir/mkdir成员。 对于具体的文件系统,

以ext3为例, 则有ext3_dir_operations和ext3_dir_inode_operations。 这些是从磁盘read

inode时初始化的。

只能说到这里了, 如果这个任务让我实现, 我会边读书边用代码探索。。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6132875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存