C++实现多级目录创建
C++ 实现 创建 目录 多级
2023-09-11 14:22:29 时间
1. 前言
在编写C++程序的时候难免会操作到目录结构,一般来讲实现创建目录是使用_mkdir()函数,但是呢这个函数就只能创建一级目录,想要创建两级或是更多级的目录那就不行了。这里在总结了网上的资料将实现代码贴出,以供学习使用
2. 实现
#include "stdafx.h"
#include <string>
#include <iostream>
#include <io.h>
#include <direct.h>
using namespace std;
//创建多级目录
bool my_create_dir(std::string path)
{
int m = 0, n;
string str1, str2;
str1 = path;
str2 = str1.substr(0, 2);
str1 = str1.substr(3, str1.size());
while (m >= 0)
{
m = str1.find('\\');
str2 += '\\' + str1.substr(0, m);
n = _access(str2.c_str(), 0); //判断该目录是否存在
if (n == -1)
{
if (_mkdir(str2.c_str()) != 0) //创建目录
{
return false;
}
}
str1 = str1.substr(m + 1, str1.size());
}
return true;
}
// 检查文件夹是否存在不存在就创建一个
//path为绝对路径,例如E:\123\432\123
bool SavePathCheack(std::string path)
{
if (path.length() <= 0)
return false;
errno_t err = 0;
// Check for existence.
if ((err = _access_s(path.c_str(), 0)) != 0)
{
if (!my_create_dir(path)) //创建文件夹
return false;
else
{
std::cout << "创建文件夹成功" << path << std::endl;
return true;
}
}
else
std::cout << path << "文件夹已经存在" << std::endl;
return true;
}
相关文章
- C++ 重载操作符与转换
- C++实现车轮轨迹
- java实现串逐位和(C++)
- java实现第二届蓝桥杯最小公倍数(c++)
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- 【UNREAL ENGINE 游戏开发】开篇之UE4的BLUEPRINT(蓝图)与C++(新童鞋必看)
- (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析
- 浅析算法的时间复杂度和空间复杂度 (C++/python双语实例)
- C++实现的二叉树创建和遍历,超入门邻家小女也懂了
- C++ 直接从<cmath>中寻找库函数——数学标准库函数大全
- C/C++基础讲解(十八)之数据结构篇二叉树遍利与浮点数转换为字符串
- paddle 44 用onnxruntime实现ppyoloe模型的部署(含python和c++版本),支持batchsize
- [C++ 面试基础知识总结] 泛型算法
- 蓝桥杯官网 试题 PREV-236 历届真题 出租车【第十一届】【决赛】【研究生组】【C++】一种解法
- 【华为OD机试 2023最新 】计算快递主站点(C++)
- C++学习心得与c语言到c++衔接技巧
- 解答私信@icey�192 //2021-11-1 C++ 已知1900是鼠年,输入一个年份,输出其对应的生肖。
- 解答私信@被c++折磨头秃的花季美少女 //C++ 写一个带命令行参数的程序,可以实现将参数求和、求平均值以及排序之后输出(参数的数量不确定)。
- 设计模式——命令模式(C++实现)
- 【C++】代码实现:base64 编码与解码
- C++11实现简易定时器
- C/C++ 实现多线程与线程同步
- c++ 多线程 并发 id generator 产生器
- Microsoft Visual C++ Runtime Library Runtime Error的解决的方法
- VC++使用fprintf函数实现写日志文件的功能(附源码)
- 高精度四则运算的C++代码实现
- C++11 左值、右值与右值引用
- 工厂模式C++实现
- C++中如何实现四舍五入
- C++调用WMI类查询获取操作系统名(实例)
- VC++中实现INI文件读写的方法和示例
- 【C++ 科学计算】详解稀疏矩阵 SpMat<type>
- 黑马C++笔记——职工管理系统(C++实现)
- pytorch 33 使用mmdeploy将mmdetection模型转换为onnx,并基于mmdeploy-sdk实现c++部署
- C++实现彩色bmp图片转灰度图
- Ubuntu下C、C++进程间的编程