概述

  • 本文演示环境: win10 + vs2017

头文件

#include <io.h>
#include <direct.h>

函数

下面的函数,从左至右依次检查文件夹是否存在,如果不存在,则创建, 直到最后一级目录

	/// --------------------------------------------------------------------------------------------------------
/// @brief: 创建日志存放的文件夹
/// --------------------------------------------------------------------------------------------------------
void log_imp::create_log_path_()
{
#if defined (os_is_win)
std::string str_sub_dir = log_info_.path_;
std::string str_create_dir;
bool is_end = true; using namespace std;
while (true == is_end)
{
int sub_path_pos = str_sub_dir.find('\\');
if (0 <= sub_path_pos)
{
/// 得到要检查的目录
str_create_dir += str_sub_dir.substr(0, sub_path_pos + 1);/// +std::string("\\"); /// 创建目录
create_dir_(str_create_dir); /// 继续找下一级目录
str_sub_dir = str_sub_dir.substr(sub_path_pos + 1, str_sub_dir.length());
}
/// 说明已经找到了最后一级目录,
else
{
/// 创建最后一级目录
str_create_dir += str_sub_dir;
create_dir_(str_create_dir);
is_end = false;
}
}
#elif defined (os_is_linux) #endif ///
}

create_dir_函数源码

	/// --------------------------------------------------------------------------------------------------------
/// @brief: 创建目录
/// --------------------------------------------------------------------------------------------------------
void log_imp::create_dir_(const std::string str_create)
{ /// 文件夹不存在则创建文件夹
if (-1 == _access(str_create.c_str(), 0) )
{
_mkdir(str_create.c_str());
}
else
; ///文件夹已经存在
}

C++使用C语言库函数创建文件夹的更多相关文章

  1. C语言程序创建文件夹

    #include <stdio.h> #include <process.h> #include <dir.h> int main(void) { int stat ...

  2. C语言创建文件夹

    问题需求:在程序中需要使用文件夹时,一般可以先在程序目录或某一路径下创建一个文件夹,然后使用该文件夹. 这种方法比较麻烦,需提前创建文件夹. 使用C语言创建文件夹的代码可以如下: #include & ...

  3. C语言库函数--操作文件

    //C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...

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

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

  5. github创建文件夹

      网页上只能通过在创建新文件的时候顺便创建文件夹(文件夹与文件用 / 隔开),例如home/test.md就在该仓库下创建了一个文件夹home,该文件夹下有一个新的文件test.md

  6. windows环境下创建 .文件夹

    一.windows环境下创建 .文件夹 1.新建一个文件夹 2.重命名为.properties.(名字前后都加点) 二.windows环境下创建 .文件 1.上面的方法对文件同样适用 2.运行CMD, ...

  7. Java 判断文件夹、文件是否存在、否则创建文件夹

    1.判断文件是否存在,不存在创建文件 File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if( ...

  8. C#创建文件夹

    string path = Server.MapPath("~/DefaultImg/newDir/63/");//获取文件路径 if (!Directory.Exists(pat ...

  9. 用SQL语句建库建表建约束(用SQl语句在指定盘符创建文件夹)

    一 :创建数据库 创建一个数据文件和一个日志文件(MySchool) create database MySchoolon primary      --默认属于primary主文件组,可省略(--数 ...

随机推荐

  1. 数据仓库分层中的ODS、DWD、DWS

    1.数据仓库DW 1.1简介 Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源.为了决策需要而产生的,它是一整套包括了etl.调度 ...

  2. 【百奥云GS专栏】全基因组选择之模型篇

    目录 1. 前言 2. BLUP方法 ABLUP GBLUP ssGBLUP RRBLUP 3. 贝叶斯方法 BayesA BayesB BayesC/Cπ/Dπ Bayesian Lasso 4. ...

  3. python包之drmaa:集群任务管理

    目录 1. drmaa简介 2. 安装和配置 3. 示例 3.1 开始和终止会话 3.2 运行工作 3.3 等待工作 3.4 控制工作 3.5 查询工作状态 4. 应用 4.1 写一个简单应用 4.2 ...

  4. Docker网络设置及文件挂载

    网络设置–net=bridge- 默认选项,用网桥的方式来连接docker容器.–net=host- docker跳过配置容器的独立网络栈.–net=container:NAME_or_ID- 告诉d ...

  5. Tomcat类加载机制和JAVA类加载机制的比较

    图解Tomcat类加载机制    说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷.    之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的 ...

  6. Applescript快速入门及OmniFocus每日md报告开发

    本篇主要记录 Applescript 基础语法,以及利用 applescript 生成 omnifocus 每日报告 从 windows 转换到 macos,最近一直在不断折腾,这两天浏览 githu ...

  7. apostrophe

    apostrophe 者,', 0x27, 十进制39,ASCII里的single quote (单引号) 也.one of the 'inverted commas'. 在书写上可以表示所有格.省略 ...

  8. mysql index 8.0

    创建表 use vodb; drop table if exists test1; create table test1(id int NOT NULL AUTO_INCREMENT primary ...

  9. LVS nat模型+dr模型

    nat模型 在 rs1 和 rs2  安装httpd  并配置测试页,启动 [root@rs1 ~]# yum install httpd -y[root@rs1 ~]# echo "thi ...

  10. 【Service】【Database】【Cache】Redis

    1. 简介: 1.1. redis == REmote DIctionary Server 1.2. KV cache and store, in-memory, 持久化,主从(sentinel实现一 ...