//多字符集

 #include "stdafx.h"
#include <Windows.h>
#include <iostream> using namespace std; BOOL MakeSureDirectoryPathExists(char* DirectoryFullPath); int main()
{
char* DirectoryFullPath = "E:\\这个是我们自己创建的多层目录\\DemoSucess\\";//要在最后加上那个双斜杠,否则无法创建最后一层
MakeSureDirectoryPathExists(DirectoryFullPath);
return ;
} BOOL MakeSureDirectoryPathExists(char* DirectoryFullPath)
{
char* Travel = NULL;
char* BufferData = NULL;
DWORD DirectoryAttributes; BufferData = (char*)malloc(sizeof(char)*(strlen(DirectoryFullPath) + )); if (BufferData == NULL)
{
return FALSE;
} strcpy(BufferData, DirectoryFullPath); Travel = BufferData; if (*(Travel + ) == ':')
{
Travel++;
Travel++;
if (*Travel && (*Travel == '\\'))
{
Travel++;
}
}
while (*Travel) //D:\Hello\\World\Shit\0
{
if (*Travel == '\\')
{
*Travel = '\0';
DirectoryAttributes = GetFileAttributes(BufferData); //查看是否是否目录 目录存在吗//这里注意单双字使用多字符集
if (DirectoryAttributes == 0xffffffff)
{
if (!CreateDirectory(BufferData, NULL))
{
if (GetLastError() != ERROR_ALREADY_EXISTS)
{
free(BufferData);
return FALSE;
}
}
}
else
{
if ((DirectoryAttributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY)
{
free(BufferData);
BufferData = NULL;
return FALSE;
}
} *Travel = '\\';
} Travel = CharNext(Travel);
} cout << "创建多层目录成功!" << endl;
return TRUE;
}

文件管理 - Ring3创建目录的更多相关文章

  1. Linux/Unix mac 命令笔记

    bg和fg Linux/Unix 区别于微软平台最大的优点就是真正的多用户,多任务.因此在任务管理上也有别具特色的管理思想.我们知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行 ...

  2. Linux系统入门命令100条 转

    https://www.howtoforge.com/linux-commands/ 2017-04-27 RiboseYim 睿哥杂货铺 Author : Himanshu Arora 原文:htt ...

  3. 第8章 Foundation Kit介绍

    本文转载至  http://blog.csdn.net/mouyong/article/details/16947321 Objective-C是一门非常精巧实用的语言,目前我们还没有研究完它提供的全 ...

  4. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  5. linux 基础命令与文件管理

      Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.in ...

  6. 文件管理[Linux]

    文件系统 rootfs: 根文件系统 /boot 系统启动相关的文件,如内核.initrd.以及grub(bootloader) /dev 设备文件 块设备 随机访问 字符设备 线性访问 设备号 主设 ...

  7. linux专题一之文件管理(目录结构、创建、查看、删除、移动)

    在linux系统中一切都是文件./ 在linux中为根目录,是一切文件的根目录.本文将通过linux系统的目录结构和与linux文件操作有关的相关命令(touch.mkdir.cp.mv.mv.les ...

  8. OC第八节——目录操作和文件管理

    1.需要理解的知识            通常程序在运行中或者程序结束之后,需要保存一些信息,而且需要持久化存储信息,比如登陆信息.视频播放记录.收藏记录等等,那么我们可以采用以下几种方式对数据进行持 ...

  9. Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

    (13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...

随机推荐

  1. arrow function、function.apply

    An arrow function expression has a shorter syntax than a function expression and does not have its o ...

  2. vue 自定义组件使用v-model

    <input v-model="something"> v-model指令其实是下面的语法糖包装而成: <input :value="something ...

  3. day12_python_1124

    00 如何学习python 如何学好英语? 母系英语. 听 说 读 写 练 input output 听 说 读 写(练) 听,读 说 纠正 01 昨日内容回顾 生成器:本质就是迭代器,自己用pyth ...

  4. 基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化

    前言 在大数据盛行的现在,大屏数据可视化也已经成为了一个热门的话题.大屏可视化可以运用在众多领域中,比如工业互联网.医疗.交通.工业控制等等.将各项重要指标数据以图表.各种图形等形式表现在一个页面上, ...

  5. oracle中 trunc 处理日期的用法

    方法/步骤   1 select trunc(sysdate) from dual  结果是 截止到当日 不设置,默认是截止到”日“ 2 select trunc(sysdate,'year') fr ...

  6. jmeter解决request response中文乱码问题

    一:主要内容 解决request请求入参中文乱码问题 解决response响应数据中文乱码问题 二:解决request和response中文乱码问题 request结果:-中文已经不乱码了 respo ...

  7. SQL-46 在audit表上创建外键约束,其emp_no对应employees_test表的主键id。

    题目描述 在audit表上创建外键约束,其emp_no对应employees_test表的主键id.CREATE TABLE employees_test(ID INT PRIMARY KEY NOT ...

  8. vscode下调试运行c++

    vscode是微软的最新产品,轻量易用,最初是前端用的多,尤其是typescript,因为vscode的作者也是typescipt作者.一般c++的IDE很多,比如visual studio等,但是都 ...

  9. Tex_Err:缺失wlscirep.cls

    使用期刊模板编译时,需要'.cls'一类格式文件支持.从Overleaf上直接Copy代码到本地,发现自己的tex运行时会报错: ! LaTeX Error: File `wlscirep.cls' ...

  10. 实验楼 MySQL 基础课程 挑战:搭建一个简易的成绩管理系统的数据库

    传送门:https://www.shiyanlou.com/courses/running 介绍 现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩.数据库中有三张表分别用于记录学生信 ...