#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 ;
}
java linux 多级目录创建 linux创建多级目录及文件
转载文章标签 java linux 多级目录创建 linux c++ 创建多级目录 多级目录 #include php 文章分类 Java 后端开发
-
Linux目录结构
在Linux中一切皆文件,这些文件按照一定的规则存放在不同的目录当中。为了能够快速找到文件及以后的操作的规范性,我们必须记清楚Linux的目录结构。
目录 云计算 Linux centos 自动化运维 -
linux下面创建多级目录
有时候我们想要创建多级目录,而且这个目录本身不存在,可以这样做:mkidi
linux 递归 当前目录 多级目录