指定目录下创建二级子目录

在LocalDir目录创建下级目录,NeedCreatePath是需要创建的目录,在子目录中有相关的二级目录则不用创建, 如在/tmp/test/ 下,创建 a/b/c 目录

void CreatePath(const std::string &LocalDir, std::string &NeedCreatePath)
{
	int iPos = 0;
	string Dir = LocalDir;				
	string CurCreateDir = "";
	int Result;

	while (iPos >= 0)
	{
		iPos = NeedCreatePath.find('/');
		CurCreateDir = CurCreateDir + NeedCreatePath.substr(0, iPos);
		Dir = Dir  + CurCreateDir ;
		if (-1 == (Result = access(Dir.c_str(), 0)))   //该目录不存在
		{
			if (-1 == (Result = mkdir(Dir.c_str(), 0755)))     //创建目录
			{
				cout << "Create path error!"<< endl;;
			}
		}
		Dir = Dir + "/";
		NeedCreatePath = NeedCreatePath.substr(iPos + 1, NeedCreatePath.size());
		CurCreateDir = "";
	}
}

转载于:https://my.oschina.net/lvguidong/blog/863290

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值