GetModuleFileName( NULL, strPath.GetBuffer(MAX_PATH), MAX_PATH ); //NULL 返回应用程序的全路径
strPath.ReleaseBuffer(); //清空缓冲区
strPath = strPath.Left(strPath.ReverseFind(_T('\\'))); //获取整个路径
str = strPath + "\\"+ sDate + "-" + sTime; //文件夹名称CString csSubString;
while(-1 != str.Find("\\"))
{
int nPos = str.Find("\\");
csSubString += str.Left(nPos + 1);
str = str.Right(str.GetLength() - nPos -1);
CreateDirectory(csSubString,NULL);
}
csSubString += str;
CreateDirectory(csSubString,NULL); //创建子目录
以上来自百度转载;
以下转载自“一蓑烟雨任平生”:
创建文件路径(即确定文件夹是否存在和创建一个文件夹),常需要PathIsDirectory和CreateDirectory两个函数实现。
PathIsDirectory函数用于判断传入的路径是否已经存在,若存在则无需在调用CreateDirectory函数进行创建路径,否则则可以调用CreateDirectory函数创建一个路径
常用方式:
CString csPath(TEXT(“E:\\Path”));
if (!PathIsDirectory(路径))
{
CreateDirectory(csPath, 0);//不存在则创建
}
else //已经存在
***********//存在以后的处理
说明:
a. PathIsDirectory函数,用来判断路径是否存在,路径的一般格式E:\\**\\**,若是存在返回1,否则返回0
b. CreateDirectory函数,用来创建一个路径,接受两个参数,路径和安全属性,安全属性可选择0,若是创建成功则返回1,否则返回0;在创建时要保证当前路径下的每一级都是有效的,如路径若是E:\\S1\\S2\\S3,若是S1或S2不存在,则创建会失败;若是创建的文件夹存在,则CreateDirectory函数也不会在创建文件夹,也会返回0值,因而CreateDirectory函数在调用时只要没有创建文件夹,俊辉返回0值
c. 参照b中描述,若是想要创建多级文件夹,则应从最外层文件夹开始逐步创建文件夹
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://www.blogbus.com/hx1987-logs/336863590.html