CreateDirectory创建多级目录

原创 2018年04月16日 14:50:26

目的:实现用CreateDirectory创建多级目录

1.引入静态库

#include "shlwapi.h"

#pragma comment(lib,"shlwapi.lib")

2.函数

const wchar_t* wcstrrchr(const wchar_t* str, const wchar_t wc)
{
	const wchar_t* pwc = NULL;
	for (int i=wcslen(str)-1;i>=0;i--)
	{
		if (str[i] == wc)
		{
			pwc = str + i;
			break;
		}
	}
	return pwc;
}

bool createMultiDir(const wchar_t* path)
{
	if (path == NULL) return false;
	const wchar_t* pwcStrrchr = wcstrrchr(path,L'\\');
	if (!pwcStrrchr) return false;
	if (PathIsDirectory(path)) return true;

	wchar_t wsSubPath[MAX_PATH] = {};
	memset(wsSubPath,0,sizeof(wsSubPath));
	for (int i=0; i<pwcStrrchr-path; i++)
		wsSubPath[i] = *(path+i);
	createMultiDir(wsSubPath);
	if(CreateDirectory(path,NULL)) return true;
	return false;
}

3.调用案例

createMultiDir(L"d:\\whish\\test\\好孩子\\宝马\\测试.txt"); //绝对路径
createMultiDir(L".\\whish\\test\\好孩子\\宝马\\测试.txt");//相对路径

在ios中的Document中创建多级文件夹以及文件

- (NSString *)dataPath:(NSString *)file { NSString *path = [[NSHomeDirectory() stringByAppe...
  • hcb1230
  • hcb1230
  • 2014-07-02 22:31:40
  • 1086

优化CreateDirectory函数,使之可创建多层目录

优化CreateDirectory函数,使之可创建多层目录 代码如下: 参数与CreateDirectory一模一样 BOOL CreateDeepDirectory(LPCTSTR l...
  • zypuestc
  • zypuestc
  • 2012-10-17 10:59:03
  • 2231

利用CreateDirectory创建多级目录

CreateDirectory()这个API函数比较蛋疼菊紧,只能创建一级目录,多级目录就歇比,只能自己写了个函数CreateMuliteDirectory(),希望能给刚开始用这个函数的童鞋有点帮助...
  • nightmare_1
  • nightmare_1
  • 2011-06-24 10:57:00
  • 585

PHP创建多级目录

PHP针对目录的创建,有一个专门的函数mkdir():成功,返回true,失败,返回false 函数mkdir有四个参数: path:要创建的目录的名称 mode:权限。默认是0777(最大权限...
  • u014316363
  • u014316363
  • 2015-01-19 10:49:25
  • 1269

CreateDirectory创建文件夹失败怪相

今天调试前些天新建的工程的时候发现CreateDirectory函数创建文件夹不成功,但是这个函数的返回值 却是成功的值。为此很奇怪,还以为是自己的文件系统出问题了,就叫同事也测试一下这个函数,结果...
  • co_diy
  • co_diy
  • 2011-09-28 20:52:57
  • 7698

How To Create Directory In Java--创建单个目录,多个目录(子目录)

How To Create Directory In Java--创建单个目录,多个目录(子目录) new File("C:\\Directory1").mkdir(); //创建单个目录 ne...
  • xiaowanggedege
  • xiaowanggedege
  • 2013-11-20 23:52:03
  • 3152

CreateDirectory(…)执行失败,GetLastError()返回错误码5

{     DeleteDirectory(strPath);     if (!CreateDirectory(strPath, NULL))     {        ...
  • xexiyong
  • xexiyong
  • 2014-05-21 20:20:30
  • 3870

VS 2008 创建、删除多级目录的方法 以及给文件夹增加隐藏属性

stdafx.h #include #pragma comment(lib,"imagehlp.lib") 源文件中 char* DirectoryType = "c:\\123\\123...
  • rundll64
  • rundll64
  • 2015-05-14 15:30:51
  • 531

vc++创建文件夹及子文件夹,创建多级文件夹

转:http://www.2cto.com/kf/201207/144559.html CString strWPath = strPath; CString strTemp; if(!PathF...
  • strong0511
  • strong0511
  • 2016-08-22 09:26:11
  • 766

MFC用CreateDirectory创建文件目录

CreateDirectory这个函数的作用是创建一个新的目录。如果底层文件系统支持文件和目录上的安全描述,该功能可将指定的安全描述到新的目录。 函数原型: BOOL CreateDirectory...
  • eickandy
  • eickandy
  • 2015-08-19 09:42:46
  • 5323
收藏助手
不良信息举报
您举报文章:CreateDirectory创建多级目录
举报原因:
原因补充:

(最多只允许输入30个字)