//多字符集

 #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. Java IO编程全解(二)——传统的BIO编程

    前面讲到:Java IO编程全解(一)——Java的I/O演进之路 网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口 ...

  2. 【协议逆向工程】Part 1 概述

    1 协议逆向工程概述 1.1 协议 协议是计算机网络与分布式系统中各种通信实体键相互交互信息时必须遵守的一组规则和约定,这些规则明确规定了所交换的数据格式以及有段的同步问题,从而保证了双方通信有条不紊 ...

  3. css3实现好看的边框效果

    1.html结构 <div class="box">box</div> <br> <div class="border1&quo ...

  4. ajax请求本地文件

    这是一个小随笔,真的很简短! 主要入坑点有两个 一.Chrome浏览器默认不支持ajax读取本地文件 解决:1.关闭所有Chrome网页 2.右击Chrome浏览器,打开“属性”     3.弹出属性 ...

  5. Linux中的#和$区别

    [#]代表 root权限[$]代表普通用户

  6. 软工作业No.7 甜美女孩第五周--测试与发布

    Alpha版本发布说明 一.功能介绍 本团队所做的多模式自定义2048是用来进行纸牌模式以及正常基础模式版本的2048小游戏的.Alpha版本具有的功能大体如下: 初始界面- 纸牌模式- 基础模式- ...

  7. 防Bug笔记

    最近不知道咋回事,写代码特别多bug出来.故专门做一笔记,记下容易犯的bug,以期日后减少低级错误. Python 1. JavaScript 1.多用``, 少用''/""

  8. np.newaxis

    http://blog.csdn.net/mameng1/article/details/54599306

  9. 《JavaScript Dom 编程艺术》读书笔记-第6章

    本章继续对图片库进行改进,主要内容包括三个方面: 1. 把事件处理函数移出文档: 2. 向后兼容: 3. 确保可访问. 之前代码的HTML片段,此时如果浏览器不支持JS,图片显示也能正常工作,只是体验 ...

  10. cocos2d-x3.17 整体概述

    首先,cocos引擎有三个版本:C++,Lua,Js.其底层代码是由C++编写,通过脚本文件绑定到Lua与Js,所以我们之后解析的都是cocos2d-x.其次,cocos安装等就不概述了,百度一大堆. ...