//多字符集

 #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. 关于wincc与博图的安装问题

    博图软件支持西门子1500CPU,但是在step7中不支持. 关于博图与wincc的安装顺序,在很多人觉得是没有安装顺序的,最好的安装顺序是: 先安装wincc,再安装博图 细节问题: 在安装博图时, ...

  2. Jumpserver跳板机的搭建和部署

    1.需要搭云yum仓库wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 2. ...

  3. 遇见 TiDB

    遇见 TiDB 文章来源:企鹅号 - 塔塔驿站 最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB. ...

  4. 【Java集合系列一】ArrayList解析

    一.基础简介 1.ArrayList继承关系 2.底层用数组来存储数据,数据会在ArrayList创建的时候一并初始化.如果创建ArrayList的时候,没有设置容量,则会delay到第一次add数据 ...

  5. 1093 字符串A+B

    给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集.要求先输出 A,再输出 B,但重复的字符必须被剔除. 输入格式: 输入在两行中分别给出 A 和 B,均为长度不超过 10​6​​ ...

  6. A JSON example

    heroes.html<!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  7. python高级变量类型(元组,列表,字典, 字符串和重要方法)

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  8. Selenium·自动化基础

    date:2018505+2018506 day05+06mor 一.安装环境 1.cmd→pip install selenium 2.将浏览器驱动放入X:\Python27下(如chromedri ...

  9. Logging常用handlers的使用

    一.StreamHandler 流handler——包含在logging模块中的三个handler之一. 能够将日志信息输出到sys.stdout, sys.stderr 或者类文件对象(更确切点,就 ...

  10. yuan的第二次随笔

    第一题: 计算两数的和与差 设计思路: 1:看题目:主函数与函数声明,知道它要你干什么 2:理解与分析:在main中,定义两个实数a,b;要你求两数的和与差 3:解答:通过调用函数sum_diff,指 ...