概述

  • 本文演示环境: 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. 【R】ggplot2的facet_warp/grid如何实现超过两类水平的分面?

    之前最多只做过两类单水平的分面,即两两组合的面板图.如果某类超过两个水平呢? 一类的分面:facet_wrap(~ align) 两类的分面(x轴和y轴):facet_grid(align ~ gen ...

  2. [R] 添加误差棒的分组折线图:geom_path: Each group consists of only one observation. Do you need to adjust the...

    想做一个简单的分组折线图,并添加误差棒,类似下面这样的: 用ggplot似乎很简单就能实现:ggplot+geom_errorbar+geom_line+geom_point,重点在于计算误差棒. 还 ...

  3. perl中tr的用法(转载)

    转载:http://blog.sina.com.cn/s/blog_4a0824490101hncz.html (1)/c表示把匹配不上的字符进行替换. $temp="AAAABCDEF&q ...

  4. 嵌入式Linux利用ppp实现4G模块联网

    https://blog.csdn.net/qq361294382/article/details/52136126 https://blog.csdn.net/qq361294382/article ...

  5. [源码解析] PyTorch分布式优化器(1)----基石篇

    [源码解析] PyTorch分布式优化器(1)----基石篇 目录 [源码解析] PyTorch分布式优化器(1)----基石篇 0x00 摘要 0x01 从问题出发 1.1 示例 1.2 问题点 0 ...

  6. 学习java 7.1

    学习内容:数组的定义格式:int[ ] arr;  int arr[ ]; 数组的动态初始化:int[ ] arr = new int[ ];静态初始化:int[ ] arr = new int[ ] ...

  7. Nested Classes in C++

    A nested class is a class which is declared in another enclosing class. A nested class is a member a ...

  8. Servlet(3):Cookie和Session

    一. Cookie Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的 ...

  9. Layui:select下拉框回显

    一..需求场景分析 基于Thymeleaf模板下的layui下选框回显. 二.获得一个Layui标配的下拉框,我们需要在html中填写的内容如下 <div class="layui-f ...

  10. TCP协议三步挥手与四步挥手

    关于TCP协议 TCP(Transmission Control Protocol, 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.与之对应的是UDP(User Datagram ...