VC 递归创建目录
编号:A3GS_TV20100224002 编号
描述: 描述 本文以例子代码的形式讲述了 VC 中如何递归创建目录。 技术实现: 技术实现
// 判断目录是否存在 BOOL FolderExists(CString s) { DWORD attr; attr = GetFileAttributes(s); return (attr != (DWORD)(-1) ) &;&; ( attr &; FILE_ATTRIBUTE_DIRECTORY); }
// 创建目录 BOOL CreateDir(CString P) { int len=P.GetLength(); if ( len <2 ) { return FALSE; } if('\\'==P[len-1]) { P=P.Left(len-1); len=P.GetLength(); } if ( len <=0 ) { return FALSE; } if (len <=3) { if (FolderExists(P)) {
return TRUE; } else { return FALSE; } } if (FolderExists(P)) { return TRUE; } CString Parent; Parent=P.Left(P.ReverseFind('\\') ); if(Parent.GetLength()<=0) { return FALSE; } BOOL Ret=CreateDir(Parent); if(Ret) { SECURITY_ATTRIBUTES sa; sa.nLength=sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor=NULL; sa.bInheritHandle=0; Ret=(CreateDirectory(P,&;sa)==TRUE); return Ret; } else { return FALSE; } }