MFC 创建多层目录
创建多层目录
BOOL CTestToolCtr::CreateFolder(CString strNewFolder)
{
/**********************************************************************
[Name ]
CreateFolder [Function ]
创建文件夹 [Param ]
CString strNewFolder 创建的目录 [Return ]
TRUE: 创建成功
FALSE:创建失败 [Remarks ]
***********************************************************************/
if (PathFileExists(strNewFolder))
{
return FALSE;
}
else
{
return MakeDir((LPCTSTR)strNewFolder);
}
return TRUE;
} BOOL CTestToolCtr::MakeDir(const char* szPath)
{
char copy_path[];
memset(copy_path, , sizeof(copy_path)); int len = ;
char *last_mozi = NULL;
char *mozi = NULL;
char d_buf[], dd_buf[];
memset(d_buf, , sizeof(d_buf));
memset(dd_buf, , sizeof(dd_buf)); sprintf_s(copy_path, sizeof(copy_path), szPath);
len = strlen(copy_path);
last_mozi = CharPrev(copy_path, ©_path[len]); if (last_mozi == (©_path[len-]))
{
if (copy_path[len-] == '\\' || copy_path[len-] == '/')
{
copy_path[len-] = 0x00;
}
} CharPrev(copy_path, copy_path);
mozi = CharNext(copy_path);
while (*mozi != '\0')
{
if (*mozi == '\\' || *mozi == '/')
{
memset(d_buf, , sizeof(d_buf));
memcpy(d_buf, copy_path, mozi-copy_path);
sprintf_s(dd_buf, sizeof(d_buf), "%s", d_buf);
if (!PathFileExists(dd_buf))
{
if (!CreateDirectory(dd_buf, NULL))
{
return FALSE;
}
}
}
mozi = CharNext(copy_path);
}
sprintf_s(dd_buf,sizeof(copy_path), "%s", copy_path); if (!PathFileExists(dd_buf))
{
if (!CreateDirectory(dd_buf,NULL))
{
return FALSE;
}
}
return TRUE;
}
MFC 创建多层目录的更多相关文章
- nodejs创建多层目录
1. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录 //同步 fs.mkdirSync("./tmp/"); fs.mkdirSync("./ ...
- Java File类 mkdir 不能创建多层目录,如果是多层,可以调mkdirs
public static void createDir(String destDirName) { File dir = new File(destDirName); if (!dir.exists ...
- Java File类 mkdir 不能创建多层目录
File f = new File("/home/jp/Upload"); if ((!f.exists()) || (!f.isDirectory())) {boolean re ...
- [nodejs] 同步/异步创建多层目录
背景 有时项目里需要同时创建多层目录的功能,但低版本的nodejs并没有提供快捷的api 尽管在v10.12.0版本 mkdir() 第二个参数支持recursive 参数,为true时能递归创建,但 ...
- python创建多层目录的方式
将 os.mkdir 改成 os.makedirs(opDir) 哈.
- Java File文件操作 创建文件\目录,删除文件\目录
Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...
- Node fs 创建多层文件夹
一.dirname()方法 1. 获得路径当中最后一段文件或文件夹所在的路径.多次调用path.dirname将会逐层返回上级目录 var path=require("path") ...
- 根据CreateDirectory递归创建多级目录
分为MFC下的和非MFC下的两种,MFC路径是CString类型的,非MFC的路径是wstring类型的. 下面是MFC下的创建目录: void __fastcall RecursiveDirecto ...
- C/C++创建多级目录
常常需要在非MFC的环境下创建目录,尤其是多级目录,这里写了一个创建多级目录的子函数CreateDir,以后需要就可以直接拿来用了. #include <string> #include ...
随机推荐
- windows使用git时出现:warning: LF will be replaced by CRLF
windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示: 执行以下代码 $ rm -rf .git // 删除.git $ git config -- ...
- [虚拟机]Virtual Box的使用--共享文件夹
最近为系统测试使用了虚拟机,VM太卡,所以使用了VBox,运行效果还不错 为了主机和客户机之前方便进行数据传输,一般采用文件夹共享的方式(当然,可以直接拖拽) 1,直接拖拽,需要做如下设置 主要的是“ ...
- URL.createObjectURL和URL.revokeObjectURL
一.URL.createObjectURL URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里,新的对象URL ...
- spring batch资料收集
spring batch官网 Spring Batch在大型企业中的最佳实践 一篇文章全面解析大数据批处理框架Spring Batch Spring Batch系列总括
- JVM内存分配策略
在 JVM内存垃圾回收方法 中,我们已经详细讨论了内存回收,但是,我们程序中生成的对象是如何进行分配的呢?以下所述针对的是HotSpot虚拟机. 1.Java堆结构 以HotSpot为例,如下图: H ...
- log4net位置与使用方法
<log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.Rol ...
- 浅谈ScrollView嵌套ListView及ListView嵌套的高度计算
引言 在Android开发中,我们有时会需要使用ScrollView中嵌套ListView的需求.例如:在展示信息的ListView上还有一部分信息展示区域,并且要求这部分信息展示区域在ListVie ...
- MySQL性能优化:索引
MySQL性能优化:索引 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序.数据库使用索引以找到特定值,然后顺指针找到包含该值的行.这样可以使对应于表的SQL语句执 ...
- linux -目录结构
摘自:http://www.comptechdoc.org/os/linux/usersguide/linux_ugfilestruct.html 这个目录结构介绍是我目前看到介绍最全的,有时间在翻译 ...
- 五大主流浏览器 CSS3 和 HTML5 兼容性大比拼
各大主流浏览器对 CSS3 和 HTML5 的支持越来越完善,曾经让多少前端开发人员心碎的IE系也开始拥抱标准.就在前几天,W3C的 HTML5 社区领袖 Shelley 宣布,HTML5的开发工作已 ...