星空网 > 软件开发 > 操作系统

自动创建WIN32下多级子目录的C++封装类

        这是 WIN32 自动创建多级子目录的 C++ 封装类,用法简单。

        封装没有采用类的静态函数方式,而是在构造函数里面直接完成工作。没什么具体的原因,只是当时做成这样了,这么多年就一直这样用了。

 

#ifndef __HSS_AUTO_CREATE_FOLDER_HSS__#define __HSS_AUTO_CREATE_FOLDER_HSS__#include <shlwapi.h>#pragma comment(lib, "shlwapi.lib")/**************************************************************************************************\ 自动创建目录 方法: char* pszFile.. char* pszPath... auto_folder af(pszFile);  //自动建立文件pszFile所在的目录 auto_folder af(pszPath);  //自动建立目录pszPath
 
 如下用法,均创建目录 c:\\tmp\\sel
 auto_folder af("C:\\temp\\sel");
 auto_folder af("C:\\temp\\sel\\1.jpg"); 
 auto_folder af("C:\\temp\\sel\\"); 
 参数如何区分目录和文件: 如果最后有\\肯定是目录 如果最后又后缀".",则肯定是文件 如果最后没有\\,也没有后缀'.",则认为是路径\**************************************************************************************************/class auto_folder{public:  auto_folder(LPCTSTR pszPath)  {    //如果后面有\\则是路径,如果没有,但有后缀,则是文件,无后缀则也是路径    char szPath[_MAX_PATH] = {0};    strncpy(szPath, pszPath,_MAX_PATH);    szPath[_MAX_PATH-1] = 0;    char* pdot = strrchr(szPath, '.');    char* psp = strrchr(szPath, '\\');    if (psp && pdot && pdot > psp)    {      //文件方式,去掉文件名      psp[0] = 0;    }    else    {      //缺省是个目录,这个地方可能吧没有后缀的文件当作目录    }    PathAddBackslash(szPath);    if (PathIsDirectory(szPath))      return;    psp = strchr(szPath, '\\');    while(psp)    {      *psp = 0;      if (!PathIsDirectory(szPath))      {        if (!CreateDirectory(szPath, 0))          return;      }      *psp = '\\';      psp = strchr(psp + 1, '\\');    }  };};#endif




原标题:自动创建WIN32下多级子目录的C++封装类

关键词:win

win
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

中国到新西兰海运:https://www.goluckyvip.com/tag/92076.html
海运去西班牙:https://www.goluckyvip.com/tag/92077.html
克罗地亚国际海运:https://www.goluckyvip.com/tag/92078.html
加拿大海运港:https://www.goluckyvip.com/tag/92079.html
海运 肯尼亚:https://www.goluckyvip.com/tag/92080.html
卡拉奇 海运:https://www.goluckyvip.com/tag/92081.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
南美旅游报价(探索南美洲的旅行费用):https://www.vstour.cn/a/411234.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流