VC小技巧--创建多级目录

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

      Win32中提供的创建目录的API函数--CreateDirectory只能创建单层目录,下面提供一个创建多级目录的方法:

bool Utility::CreateMultipleDirectory(const CString& szPath)
{
    CString strDir(szPath);
//存放要创建的目录字符串
    
//确保以'/'结尾以创建最后一个目录
    if (strDir.GetAt(strDir.GetLength()-1)!=_T('//'))
    
{
        strDir.AppendChar(_T(
'//'));
    }

    std::vector
<CString> vPath;//存放每一层目录字符串
    CString strTemp;//一个临时变量,存放目录字符串
    bool bSuccess = false;//成功标志
    
//遍历要创建的字符串
    for (int i=0;i<strDir.GetLength();++i)
    
{
        
if (strDir.GetAt(i) != _T('//')) 
        
{//如果当前字符不是'//'
            strTemp.AppendChar(strDir.GetAt(i));
        }

        
else 
        
{//如果当前字符是'//'
            vPath.push_back(strTemp);//将当前层的字符串添加到数组中
            strTemp.AppendChar(_T('//'));
        }

    }


    
//遍历存放目录的数组,创建每层目录
    std::vector<CString>::const_iterator vIter;
    
for (vIter = vPath.begin(); vIter != vPath.end(); vIter++
    
{
        
//如果CreateDirectory执行成功,返回true,否则返回false
        bSuccess = CreateDirectory(*vIter, NULL) ? true : false;    
    }


    
return bSuccess;
}
VC++创建多级目录(附完整源码) 阅读详情

相关推荐

VC创建多级目录

VC创建多级目录可采用MakeSureDirectoryPathExists函数 BOOL bRet=MakeSureDirectoryPathExists("c:\\tmp\\ff\\"); 说明: 此函数在Dbghelp.h中定义.静态库为Dbghelp.lib. 需在项目中附加这个库。 函数功能描述:该函数创建一个从根目录开始的完整的指定路径. .函数原型:   BOOLMa

东子的博客 2713

积累的VC编程小技巧之文件操作

1.删除文件夹 //删除文件夹及其所有内容void CBaseDoc::RemoveFolder(const CString &strPathName){CString path = strPathName;if (path.Right(1) != _T("\\"))path += _T("\\");path += _T("*.*");C...

SurpassLi的专栏 51

windows C++创建多级目录(支持共享目录

windows c++创建多级目录,支持共享目录

凝视阳光呦 2666

VC小知识总结!(精品收集)

VC小知识总结!来自:http://blog.csdn.net/skyremember/archive/2006/07/28/994680.aspx(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED

lxu的专栏 1938

札记-VC使用小技巧

VC使用的小技巧一、自定义类型 添加或修改 /Program Files/Microsoft Visual Studio/COMMON/MSDev98/Bin下的usertype.dat文件,每行加上自定义的类型,比如BOOL,boolean,  java,  tomcat等二、非缺省的语法着色(更多的颜色)     修改注册表      regedit         H

暧暧远人村,依依墟里烟 ... 1038

VC编程小技巧之文件操作

1.删除目录// 删除目录及其所有内容void CBaseDoc::RemoveFolder(const CString &strPathName){    CString path = strPathName;    if (path.Right(1) != _T("\\"))        path += _T("\\");    path += _T("*.*");    CFileFi

lei35151的专栏 475

VC6.0小问题和小技巧

 介绍VC6.0小问题和小技巧1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。2.查看一个宏(或变量、函数)的宏定义把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上

liberalman的专栏 1088

VC6.0的若干实用小技巧

VC6.0的若干实用小技巧 1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 “Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一 声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F

狂奔之林的博客 984

使用VC编辑器的一些小技巧

VC工具问题,编辑时成员变量和函数不显示提示?通常输入类的对象,按“.”会出现该类的提示,函数按“("也会有参数提示,如果没提示,对菜鸟来说就要傻眼了。怎么办呢?关闭工程,到工程目录下删除××.ncb文件,再重新打开就OK了:)举一反三:有时遇到添加删除类多次后造成混乱,CLASS WIZARD出问题时,也可以去删除掉××.clw(这个文件实际是INI格式,可以手工修改,我不是高手,不会直接手动

roger007的专栏 9043

【转载】VC常用小技巧(2)

项目如何干净的删除一个类? 1、先删除项目中对应的.h和.cpp文件,(选中后用Delete键删除)2、保存后退出项目,到文件夹中删除实际的.h和.cpp文件;3、删除.clw文件;4、重新进入项目,进行全部重建(rebuild all)。如何建立一个新类?     从“插入”(Insert)菜单中选择“新建类”(New Class),在弹出的对话框中选择基类(Base class),在Name中

blueshelly的专栏 1174

VC的若干实用小技巧

Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意。作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助。 1:使用vc开发项目时,常会遇到这种情况: 即明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示重新编译连接一次,非常讨厌。这是因为出现了未来文件的缘故。 解决方法: 找出对应文件夹下的debug目录

mrby的专栏 874
上一篇: 《基于Mozilla的扩展开发》系列文章
下一篇: 一个MFC风格的BrowseForFolder 封装类
phinecos
博客等级 码龄23年 475粉丝 643原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值