创建目录mkdir

mkdir -p

 

在创建目录时,我们通常会先检查一下是否存在,如果不存在,就创建,这个时候通常用mkdir -p进行,但是-p是干什么用的呢。

 

mkdir --help一下吧。也就说,如果上级目录不存在,则没关系一并创建直到创建到自己想要的目录为止。

 

用法:mkdir [选项] 目录... 若目录不是已经存在则创建目录。
长选项必须用的参数在使用短选项时也是必须的。  

-m, --mode=模式   设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask  

-p, --parents     需要时创建上层目录,如目录早已存在则不当作错误  

-v, --verbose     每次创建新目录都显示信息  

-Z, --context=CONTEXT (SELinux) set security context to CONTEXT      

--help     显示此帮助信息并退出      

--version  输出版本信息并退出

转载于:https://www.cnblogs.com/cartsp/p/5305235.html

### 创建目录的方法 在C++中创建目录可以借助标准库中的`<filesystem>`头文件,这是自C++17引入的标准功能。对于更早版本的编译器,则可能依赖于平台特定的方式实现此操作。 当使用较新的C++标准时,可以通过如下方式来创建一个新的目录: ```cpp #include <iostream> #include <filesystem> namespace fs = std::filesystem; void create_directory(const std::string& path) { if (fs::create_directory(path)) { std::cout << "Directory created successfully." << std::endl; } else { std::cout << "Failed to create directory." << std::endl; } } ``` 然而,在某些情况下,特别是为了保持向后兼容性或是针对那些尚未完全支持最新C++特性的环境,也可以采用传统的POSIX接口或Windows API来进行这一工作。例如,在类Unix系统上,可以直接调用`mkdir()`函数;而在Windows平台上则有对应的`_mkdir()`[^1]。 下面是一个适用于大多数系统的跨平台解决方案示例代码片段: ```cpp #ifdef _WIN32 #include <direct.h> // For Windows systems. #define MKDIR(a) _mkdir(a) #else #include <sys/stat.h> // For Unix-like systems. #define MKDIR(a) mkdir(a, 0777) #endif bool makeDir(const char* dirName){ int status = MKDIR(dirName); if (-1 == status) { perror("Folder creation failed"); return false; } else { printf("Created folder %s\n",dirName); return true; } } ``` 通过上述方法之一即可实现在程序执行期间动态地创建所需的新文件夹结构。值得注意的是,这里所使用的宏定义允许同一份源码能够在不同操作系统之间轻松移植而无需修改核心逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值