用VC创建文件夹

本文介绍了一种使用C++编程语言自动创建多级文件夹的方法。通过递归检查和创建目录的方式,确保了文件路径中每一级文件夹的存在。这种方法适用于需要按特定结构组织文件的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdlib.h>
#include <stdio.h>
void main()
{
char tmp[28]={0},c[]="foldername";
sprintf(tmp,"mkdir %s",c);
system(tmp);

}

//////////////////////////////////////////////////////////////////////////

SYSTEMTIME sys; 
GetLocalTime( &sys ); 


CString strFilePath;//文件路径
CString strFolder;//文件夹名称
CString strTemp;


strTemp.Format("%d", sys.wYear);
strFolder = strTemp;
if(!PathFileExists(strFolder))//文件夹不存在则创建
{
CreateDirectory(strFolder,NULL);
}
strTemp.Format("\\%d", sys.wMonth);
strFolder += strTemp;
if(!PathFileExists(strFolder))//文件夹不存在则创建
{
CreateDirectory(strFolder,NULL);
}
strTemp.Format("\\%d", sys.wDay);
strFolder += strTemp;
if(!PathFileExists(strFolder))//文件夹不存在则创建
{
CreateDirectory(strFolder,NULL);
}

//////////////////////////////////////////////////////////////////////////


方法很简单,就是简单的调用 PathFileExists()和CreateDirectory()函数,具体过程如下:

/***********生成指定路径的文件夹**********/
CString strPath = "G:\Speech\Text\yuyin\Store";//此处可随意定义,但格式必须与所示一致,会依次创建所有的,如果已经创建好了,则不创建
CString strWPath = strPath;
CString strTemp;
if(!PathFileExists(strPath))//文件夹不存在则创建
{

strPath.TrimLeft(strPath.Left(3));
int i = strPath.Find("\\");
if(i>0)
{
strTemp = strWPath.Left(3) + strPath.Left(i);
}
else
{
strTemp = strWPath;
}
strPath.TrimLeft(strPath.Left(i));
if(!PathFileExists(strTemp))
CreateDirectory(strTemp,NULL);

while(strPath.Find("\\") == 0)
{
strPath.TrimLeft(strPath.Left(1));
int j = strPath.Find("\\");
if(j > 0)
{
strTemp = strTemp + "\\" + strPath.Left(j);
strPath.TrimLeft(strPath.Left(j));
}
else
strTemp = strTemp + "\\" + strPath;
if(!PathFileExists(strTemp))
CreateDirectory(strTemp, NULL);
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值