详解C++循环创建多级目录及判断目录是否存在的方法
C++循环创建多级目录
#include"unitfiles.h"
#ifdefWIN32
#include<direct.h>
#include<io.h>
#elifLINUX
#include<stdarg.h>
#include<sys/stat.h>
#endif
#ifdefWIN32
#defineACCESS_access
#defineMKDIR(a)_mkdir((a))
#elifLINUX
#defineACCESSaccess
#defineMKDIR(a)mkdir((a),0755)
#endif
intCreatDir(char*pszDir)
{
inti=0;
intiRet;
intiLen=strlen(pszDir);
//在末尾加/
if(pszDir[iLen-1]!='\\'&&pszDir[iLen-1]!='/')
{
pszDir[iLen]='/';
pszDir[iLen+1]='\0';
}
//创建目录
for(i=0;i<=iLen;i++)
{
if(pszDir[i]=='\\'||pszDir[i]=='/')
{
pszDir[i]='\0';
//如果不存在,创建
iRet=ACCESS(pszDir,0);
if(iRet!=0)
{
iRet=MKDIR(pszDir);
if(iRet!=0)
{
return-1;
}
}
//支持linux,将所有\换成/
pszDir[i]='/';
}
}
return0;
}
根据别人的结果进行了修改,需要注意的问题是参数不是const的,因此可以进行修改。
C++判断指定目录是否存在
boolIsDirExist(stringfilename)
{
size_tlen=filename.length();
if(filename[len-1]!='/'&&filename[len-1]!='\\')
filename.append("/");
filename.append("000.tmp");
ofstreamoutf(filename.c_str());
boolflag=outf;
if(outf)
{
outf.close();
remove(filename.c_str());
}
returnflag;
}热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下