C++ 一次创建多级目录
来源:互联网 发布:一元抽奖的软件是什么 编辑:程序博客网 时间:2024/05/22 17:23
原文:http://www.cnblogs.com/tangxin-blog/p/6086425.html
C++ 一次创建多级目录
#ifdef WIN32#include <io.h>#include <direct.h> #else#include <unistd.h>#include <sys/stat.h>#endif#include <stdint.h>#include <string>#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 -1; } char tmpDirPath[MAX_PATH_LEN] = { 0 }; for (uint32_t i = 0; i < dirPathLen; ++i) { tmpDirPath[i] = directoryPath[i]; if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/') { if (ACCESS(tmpDirPath, 0) != 0) { int32_t ret = MKDIR(tmpDirPath); if (ret != 0) { return ret; } } } } return 0;}int32_t main(int32_t argc, char *argv[]){ if (argc == 2) { return createDirectory(argv[1]); } return 0;}
阅读全文
0 0
- vc 一次创建多级目录
- Linux一次创建多级目录
- C++ 一次创建多级目录
- c语言创建多级目录
- Linux C 创建多级目录
- Linux C 创建多级目录
- linux下C语言创建多级目录
- 用C语言创建多级目录
- C语言 mkdir 创建多级目录
- C++Windows下创建多级目录
- linux c 创建多级目录接口实现
- 简单理解递归 与 一次创建多级目录
- 创建多级目录
- php创建多级目录
- SHCreateDirectoryEx 创建多级目录
- VC创建多级目录
- C++ 创建多级目录
- 递归创建多级目录
- 微信JS-SDK说明文档
- swift 访问权限
- android 配置文件,所有权限
- LeetCode
- 深入java集合系列:双端队列deque
- C++ 一次创建多级目录
- 如何把httpclient请求头变成OKhttp请求
- 编写一个学生类Students,该类成员变量包括学号no、姓名name、性别sex和年龄age,该类的成员方法有genNo()getName ). * getSex().getAge().和setA
- 看书 ecma-262
- 关于button自动提交表单事件
- 将设计稿图标制作成iconfont(ps cs6 + ai cs6)
- Dubbo/Dubbox的服务暴露(一)
- 结构体
- c#之通过自定义集合彻底搞懂foreach这个语法糖