MFC 创建多层目录

摘要:
=“\0”)57{58if(*mozi==“\\”| |*mozi==“/”)59{60memset(d_buf,0,sizeof(d_buff));61memcpy(d_buv,copy_path,mozi-copy_path);62sprintf_s(dd_buf,sizeof),“%s”,d_buf);63if(!PathFileExists(dd_bef))64{65if(!CreateDirectory(dd_buf,NULL)))66{67returnFALSE;68}69}70}71mozi=CharNext(copy_next _path);72}73sprintf_s(dd_buf,sizeof(复制路径),“%s”,复制路径);7475if(!PathFileExists(dd_buf))76{77if(!CreateDirectory(dd_buf,NULL))78{79returnFALSE;80}81}82返回TRUE;83}

创建多层目录

 1 BOOL CTestToolCtr::CreateFolder(CString strNewFolder)
 2 {
 3 /**********************************************************************
 4 [Name     ]
 5     CreateFolder
 6 
 7 [Function ]
 8     创建文件夹
 9 
10 [Param    ]
11     CString strNewFolder 创建的目录
12 
13 [Return   ]
14     TRUE: 创建成功
15     FALSE:创建失败
16 
17 [Remarks  ]
18 ***********************************************************************/
19     if (PathFileExists(strNewFolder))
20     {
21         return FALSE;
22     }
23     else
24     {
25         return MakeDir((LPCTSTR)strNewFolder);
26     }
27     return TRUE;
28 }
29 
30 BOOL CTestToolCtr::MakeDir(const char* szPath)
31 {
32     char copy_path[512];
33     memset(copy_path, 0, sizeof(copy_path));
34 
35     int len = 0;
36     char *last_mozi = NULL;
37     char *mozi = NULL;
38     char d_buf[512], dd_buf[512];
39     memset(d_buf, 0, sizeof(d_buf));
40     memset(dd_buf, 0, sizeof(dd_buf));
41 
42     sprintf_s(copy_path, sizeof(copy_path), szPath);
43     len = strlen(copy_path);
44     last_mozi =  CharPrev(copy_path, &copy_path[len]);
45 
46     if (last_mozi == (&copy_path[len-1]))
47     {
48         if (copy_path[len-1] == '\\' || copy_path[len-1] == '/')
49         {
50             copy_path[len-1] = 0x00;
51         }
52     }
53 
54     CharPrev(copy_path, copy_path);
55     mozi = CharNext(copy_path);
56     while (*mozi != '\0') 
57     {
58         if (*mozi == '\\' || *mozi == '/') 
59         {
60             memset(d_buf, 0, sizeof(d_buf));
61             memcpy(d_buf, copy_path, mozi-copy_path);
62             sprintf_s(dd_buf, sizeof(d_buf), "%s", d_buf);
63             if (!PathFileExists(dd_buf))
64             {
65                 if (!CreateDirectory(dd_buf, NULL))
66                 {
67                     return FALSE;
68                 }
69             }
70         }
71         mozi = CharNext(copy_path);
72     }
73     sprintf_s(dd_buf,sizeof(copy_path), "%s", copy_path);
74 
75     if (!PathFileExists(dd_buf))
76     {
77         if (!CreateDirectory(dd_buf,NULL))
78         {
79             return FALSE;
80         }
81     }
82     return TRUE;
83 }

免责声明:文章转载自《MFC 创建多层目录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Kd Tree算法详解前后端分离实践(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MFC避免窗口闪烁的方法(OnEraseBkgnd) .

在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图...

MFC执行过程详解

1.CObject类为MFC总类,该类下面有一个重要的类CCmdTarget。而CCmdTarget类下面又有四个重要的继承类,分别为:CWinThread、CDocument、CDocTemplate、       CWnd类。所以,可以得出一个大概继承图,如图所示:                    CObject--->CCmdTarget...

BZOJ 1492: [NOI2007]货币兑换Cash [CDQ分治 斜率优化DP]

传送门 题意:不想写... 扔链接就跑 好吧我回来了 首先发现每次兑换一定是全部兑换,因为你兑换说明有利可图,是为了后面的某一天两种卷的汇率差别明显而兑换 那么一定拿全利啊,一定比多天的组合好 $f[i]$表示第$i$天最多能得到的钱在这一天可以换成多少$A$卷 枚举使用哪一天留下的卷,按这一天的汇率换成钱来更新最大钱数 再用这个钱数更新$f[i]$ 这...

身份证号码有效性检测算法 ( js版 转 C#版 )

C#版 #region 检测是否是正确的身份证 /// <summary> /// 身份证验证 /// </summary> /// <param name="num"></param> /// <returns></returns> public static bool isIdC...

MFC录制音频和播放音频

一、录制音频   在windows中提供了相应的API函数(waveIn这个族的函数)实现录音功能;在使用这些函数时,一定要引入相应的头文件 #include <windows.h> #include <Mmsystem.h> #pragram comment(lib, "Winmm.lib") 1、在开始录音之前,需要首先定义音频...

DLL劫持 LPK.dll

/ 上次写了USP10的,这次把LPK的代码贴出来. //以下文件在 lpk.cpp 中,头文件和上次USP10的相同 // lpk.cpp : Defines the entry point for the DLL application. // //////////////////////////////////////////////////////...