linux c++ 创建多级目录,C++ 一次创建多级目录

#ifdef WIN32

#include

#include

#else

#include

#include

#endif

#include

#include

#define MAX_PATH_LEN 256

#ifdef WIN32

#define ACCESS(fileName,accessMode) _access(fileName,accessMode)

#define MKDIR(path) _mkdir(path)

#else

#define ACCESS(fileName,accessMode) access(fileName,accessMode)

#define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)

#endif

// 从左到右依次判断文件夹是否存在,不存在就创建

// example: /home/root/mkdir/1/2/3/4/

// 注意:最后一个如果是文件夹的话,需要加上 '\' 或者 '/'

int32_t createDirectory(const std::string &directoryPath)

{

uint32_t dirPathLen = directoryPath.length();

if (dirPathLen > MAX_PATH_LEN)

{

return -;

}

char tmpDirPath[MAX_PATH_LEN] = { };

for (uint32_t i = ; i < dirPathLen; ++i)

{

tmpDirPath[i] = directoryPath[i];

if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/')

{

if (ACCESS(tmpDirPath, ) != )

{

int32_t ret = MKDIR(tmpDirPath);

if (ret != )

{

return ret;

}

}

}

}

return ;

}

int32_t main(int32_t argc, char *argv[])

{

if (argc == )

{

return createDirectory(argv[]);

}

return ;

}

php使用递归创建多级目录

PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)

在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir就可以创建文件夹,其实不是那样,单个的MKDIR只能创建一级目录,对于多级的就不行了,那如何用mkdir来创建呢?先我抄一段 ...

PHP 检查并创建多级目录

php创建多级目录的两种方法

1.使用递归的思想 function mkdirs_2($path){ if(!is_dir($path)){ mkdirs_2(dirname($path)); if(!mkdir($path, 0 ...

PHP递归创建多级目录(一道面试题的解题过程)

今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkd ...

【转】php利用mkdir创建多级目录

先介绍一下 mkdir() 这个函数: mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径: 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访 ...

php mkdir 创建多级目录实例代码

先介绍一下 mkdir() 这个函数 mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径. 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问 ...

php创建多级目录完整封装类操作

创建多级目录函数中调用创建指定下的指定文件的函数: public function create_dir($dir,$mode=0777) { return is_dir($dir) or ($thi ...

C&sol;C&plus;&plus;创建多级目录

常常需要在非MFC的环境下创建目录,尤其是多级目录,这里写了一个创建多级目录的子函数CreateDir,以后需要就可以直接拿来用了. #include #include ...

python 一次创建多级目录

python 一次创建多级目录沙漠骆驼:qq音乐import osos.mkdirs('/home/user/app')

随机推荐

C基础--结构体成员初始化方式

之前在linux内核代码中看到结构体成员成员初始化使用类似于.owner = THIS_MODULE, 不太见过,于是搜了个博客,分享下: 转自:http://www.cnblogs.com/Anke ...

重构:CSS也面向对象

最初接触到面向对象的CSS还是因为项目中的CSS已经超过八千行,缺乏约束和管理,在近期或者是不远的将来,有迫切的要求需要重构.在前端重构中,我们已经讨论过了JavaScript面向对象的重构,在这个时 ...

Android apk 的安装过程

Android应用安装有如下四种方式 1.系统应用安装――开机时完成,没有安装界面 2.网络下载应用安装――通过market应用完成,没有安装界面 3.ADB工具安装――没有安装界面. 4.第三方应用 ...

Android GridView&lpar;九宫图&rpar;

GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选! <?xml version="1.0" encoding="u ...

bi api 软件

https://www.interactivebrokers.com.hk/cn/index.php?f=5234&ns=T

Node&period;js基本开发流程

创建一个hello world: 1.打开一个文本编辑器,在其中输入console.log("hello world"),并保存为hello.js; 注意:输入中文如果编码不是ut ...

Django学习之十三:提高页面开发效率减少冗余的模板系统

目录 Django 模板 模板语法 逻辑语法 函数式过滤器 内置filter 功能tag 注释 内置tag 导入三方tag and filter(load) 过滤器和功能tag的区别 自定义tag和f ...

JavaScript基础-4

4 流程控制 4.1 顺序结构 顺序结构是程序中最简单.最基本的流程控制,他没有特定的语法结构,程序会按照代码的先后顺序执行,程序中大多数的代码都是这样执行的: 4.2 分支结构 if 分支结构 注意 ...

Qt Multimedia 模块类如何使用?(表格)

qt 多媒体模块介绍 类名 英文描述 中文描述 QAudioBuffer Represents a collection of audio samples with a specific format ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值