C++使用C语言库函数创建文件夹
概述
- 本文演示环境: 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语言库函数创建文件夹的更多相关文章
- C语言程序创建文件夹
#include <stdio.h> #include <process.h> #include <dir.h> int main(void) { int stat ...
- C语言创建文件夹
问题需求:在程序中需要使用文件夹时,一般可以先在程序目录或某一路径下创建一个文件夹,然后使用该文件夹. 这种方法比较麻烦,需提前创建文件夹. 使用C语言创建文件夹的代码可以如下: #include & ...
- C语言库函数--操作文件
//C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...
- PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)
在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir就可以创建文件夹,其实不是那样,单个的MKDIR只能创建一级目录,对于多级的就不行了,那如何用mkdir来创建呢?先我抄一段 ...
- github创建文件夹
网页上只能通过在创建新文件的时候顺便创建文件夹(文件夹与文件用 / 隔开),例如home/test.md就在该仓库下创建了一个文件夹home,该文件夹下有一个新的文件test.md
- windows环境下创建 .文件夹
一.windows环境下创建 .文件夹 1.新建一个文件夹 2.重命名为.properties.(名字前后都加点) 二.windows环境下创建 .文件 1.上面的方法对文件同样适用 2.运行CMD, ...
- Java 判断文件夹、文件是否存在、否则创建文件夹
1.判断文件是否存在,不存在创建文件 File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if( ...
- C#创建文件夹
string path = Server.MapPath("~/DefaultImg/newDir/63/");//获取文件路径 if (!Directory.Exists(pat ...
- 用SQL语句建库建表建约束(用SQl语句在指定盘符创建文件夹)
一 :创建数据库 创建一个数据文件和一个日志文件(MySchool) create database MySchoolon primary --默认属于primary主文件组,可省略(--数 ...
随机推荐
- python10-高阶函数
def use_filer(l): """ 获取指定列表/元组中的奇数 :param l: lsit/tuple :return: """ ...
- C7的开机自启动设置
CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分 系统服务放在/usr/lib/systemd/system [Un ...
- X-MagicBox-820的luatOS之路连载系列6
继上次用Qt实现了显示地图和MQTT通信之后(X-MagicBox-820的luatOS之路连载系列5),说是要研究下地图的开放接口,也看了标记点和线的方法(地图上自定义标记点和轨迹线的实现).这次就 ...
- Output of C++ Program | Set 3
Predict the output of below C++ programs. Question 1 1 #include<iostream> 2 using namespace st ...
- dbeaver可视化工具-连接clickhouse
下载地址 https://dbeaver.io/download/ 本次下载的是ZIP包,这种方式方便移动/备份软件 此软件可连接多种数据库,这里是连接clickhouse 新建连接 点击 上面的倒三 ...
- When should we write our own copy constructor?
Reference:http://www.fredosaurus.com/notes-cpp/oop-condestructors/copyconstructors.html Please write ...
- 测试数据库并发压力的shell脚本
本节内容:一例用于测试数据库并发压力的shell脚本代码. 例子: #!/bin/bash #********************************# #并发后台运行fun # #for w ...
- 【Linux】【Shell】【Basic】文件查找locate,find
1.locate: 1.1. 简介:依赖于事先构建好的索引库: 系统自动实现(周期性任务): 手动更新数据库(updatedb): 1.2. 工作特性:查找速度快:模糊 ...
- html标签设置contenteditable时,去除粘贴文本自带样式
在一个div标签里面加了可编辑的属性,从别的地方复制了一串文本,只想把文本内容存到接口里面,结果发现文本自带的标签和样式都会存进去. $(".session-new-name"). ...
- js中获取url参数
function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location ...