Linux中判断某目录是否存在,如果不存在,创建该目录。
注:mkdir()一次只能创建一层目录,如果想要创建多层,需要对下述函数改造、或调用多次该函数。

一、直接上代码

//函数返回0: 目录创建成功、或目录已经存在;
//函数返回-1:目录创建失败;
int32_t opencvDirAndMkdir(const char* pathname)
{int ret=0;DIR * mydir =NULL;mydir=opendir(pathname); //打开目录if(mydir==NULL){std::cout<<version_name_string<<"--pathname="<<pathname<<std::endl;ret = mkdir(pathname,0755);   //创建目录if(ret!=0){std::cout<<version_name_string<<"--opendir_ret="<<ret<<std::endl;std::cout<<version_name_string<<"--mkdir fialed."<<std::endl;return -1;}std::cout<<version_name_string<<"--mkdir sucess."<<std::endl;}else{std::cout<<version_name_string<<"--dir exist."<<std::endl;}closedir(mydir);//关闭目录return ret;
}int main()
{//假如想创建一个 /home/fatherpath/sonPath/sonOfSonPath/ 路径OpendirAndMkdir("/home/fatherpath/");OpendirAndMkdir("/home/fatherpath/sonPath/");int ret=OpendirAndMkdir("/home/fatherpath/sonPath/sonOfSonPath/");if(ret==0) printf("path created sucess!/n");return 0;
}

二、核心函数:
1、 opendir()函数, 判断路径是否存在
头文件库

 #include <sys/types.h>#include <dirent.h>

函数原型

DIR *opendir(const char name)

函数说明

返回一个DIR类型,是一个句柄。
传入参数name为路径,成功则返回非空DIR指针,否则返回NULL。

2、mkdir()函数,创建目录
头文件库:

#include <sys/stat.h>
#include <sys/types.h>

函数原型:

int mkdir(const char *pathname, mode_t mode);

函数说明:

mkdir()函数以mode方式创建一个以参数pathname命名的目录,mode定义新创建目录的权限。

返回值:

若目录创建成功,则返回0;否则返回-1,并将错误记录到全局变量errno中。

mode值

-rw------- (600) — 只有所有者才有读取和写入的权限。-rw-r--r-- (644) — 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限。-rwx------ (700) — 只有所有者才有读取、写入、和执行的权限。-rwxr-xr-x (755) — 所有者有读取、写入、和执行的权限;组群和其他人只有读取和执行的权限。-rwx--x--x (711) — 所有者有读取、写入、和执行权限;组群和其他人只有执行权限。-rw-rw-rw- (666) — 每个人都能够读取和写入文件。-rwxrwxrwx (777) — 每个人都能够读取、写入、和执行。

Linux中判断一个目录是否存在,如果不存在就创建这个目录

C++功能模块2:mkdir()创建文件夹目录相关推荐

  1. linux mkdir 创建文件夹/目录

    [linux] mkdir 创建文件夹/目录 mkdir [选项] 目录 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录. 要创建文件夹或目录的用户必 ...

  2. [linux] mkdir 创建文件夹/目录

    mkdir [选项] 目录 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录. 要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限. 并且 ...

  3. mkdir创建文件夹/目录 常用参数

    通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录. 格式:mkdir [选项] 目录 要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限. ...

  4. 在Ubuntu终端使用mkdir创建文件夹后Xftp不能上传文件到文件夹中的问题解决方法

    问题描述 在Ubuntu终端上使用mkdir创建文件夹后使用Xftp上传文件失败 原因分析: 权限问题 解决方案: chmod 777 File

  5. linux mkdir 文件夹,Linux mkdir 创建文件夹命令

    介绍: 该命令创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录 语法: mkdir [-m] [-p] 目录名 选项介绍: -m: 对新建目录设置 ...

  6. Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1

    Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1 + compileSdkVersion 29buildToolsVersion "29.0.2"d ...

  7. mkdir创建文件夹方法

    mkdir创建文件夹方法有以下两种: 用到的函数都是:access和mkdir 注:首先先判断文件平是否存在 1.头文件包含:io.h和direct.h if (access("XXXX&q ...

  8. Php创建文件夹mkdir,PHP mkdir创建文件夹实现方法解析

    这篇文章主要介绍了PHP mkdir创建文件夹实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在开始之前,我先说明一下,可能许多朋友与我 ...

  9. php怎么生成一个文件夹里,php创建文件夹目录的教程

    php 中可以使用 mkdir()  函数创建文件夹,但 mkdir() 创建文件夹时需要注意的事项有很多,下面就来详细的说一下. php创建文件夹的方法 示例1: php 在创建文件夹时,需要先使用 ...

  10. linux mkdir 文件夹,Linux mkdir创建文件夹命令

    Linux(Ubuntu/Fedora/CentOS/RetHat)可以通过GMONE和KDE界面直接创建文件夹和文件目录.当然,有时候直接通过终端用 mkdir 命令来创建会更方便,特别是在Root ...

最新文章

  1. http_build_query用法
  2. 5-35 城市间紧急救援 (25分) pat 数据结构
  3. Linux下常见文件解压方法及命令
  4. Jqurey学习笔记---3、jQuery 选择器
  5. UVa 11027 - Palindromic Permutation 回文串,组合加搜索
  6. 【Excel】函数DateDif查看两个日期之间的间隔
  7. HiddenField控件[转载]
  8. 力扣190.颠倒二进制数
  9. Hive依据key获取value
  10. LuoguP3674 小清新人渣的本愿 BZOJ4810: [Ynoi2017]由乃的玉米田
  11. 【自动化__GUI自动化】__java__模拟功能操作__鼠标
  12. chrome浏览器设置思源黑体
  13. 体系结构复习2——指令级并行(分支预測和VLIW)
  14. 外贸找客户软件:Top Lead Extractor
  15. 实现游戏的读档和存档
  16. 如何将文字转换为二维码 python_用python将二维码转换成字符直接输出控制台
  17. 我从来都不是什么好人——脚本小子智斗绿茶小妹
  18. 文献笔记|Lau, 2021, Nature human behaviour
  19. 未来城市空中交通——NASA Embraces Urban Air Mobility, Calls for Market Study
  20. 用HTML+CSS+JS做一个漂亮的个人网页

热门文章

  1. java环境一键_Java环境变量一键配置
  2. 科普文章:公众电磁辐射与防护的研究
  3. 基于python的百度云网盘资源搜索引擎设计架构
  4. 21 张图总结我的 2020 年
  5. 大哉,计算语言学之为用!(冯志伟)
  6. 二次元博客php,Mokore: Wordpress二次元简约个人博客主题by江程训
  7. 高德导航免费,那他靠什么收入?
  8. 用精密减压阀控制空气采样泵气体压力
  9. 如何当好硬软件助理工程师——实习周报(一)
  10. windows中cmd和powershell设置代理