本文整理汇总了C++中CFileFind::IsNormal方法的典型用法代码示例。如果您正苦于以下问题:C++ CFileFind::IsNormal方法的具体用法?C++ CFileFind::IsNormal怎么用?C++ CFileFind::IsNormal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFileFind
的用法示例。
在下文中一共展示了CFileFind::IsNormal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CopyFiles
/**************************************************************************
* function CopyFiles
*
* written by moonknit
*
* @history
* created 2006-02-22
*
* @Description
* 복수의 파일의 복사를 수행한다.
*
* @Parameters
* (in CString) a - 소스가 되는 파일, *.* 등 허용
* (in CString) b - 대상이 되는 디렉토리 또는 파일명 (한개의 파일을 복사할 때는 파일명을 넣는다.)
* (in BOOL) bmove - 파일을 옮긴다.
**************************************************************************/
BOOL CopyFiles(CString a, CString b, BOOL bmove)
{
CFileFind f;
BOOL bloop;
BOOL bdestdir = TRUE;
BOOL bsourcesingle = FALSE;
TRACE(_T("copy [ %s ] to [ %s ]\r\n"), a, b);
if(a.GetLength() == 0 || b.GetLength() == 0) return FALSE;
bloop = f.FindFile(b);
if(bloop)
{
bdestdir = FALSE;
}
if(bdestdir && b.Right(1) != _T("\\")) b+= _T("\\");
f.Close();
if(a.Find(_T("*")) == -1)
bsourcesingle = TRUE;
if((bsourcesingle && bdestdir)
|| (!bsourcesingle && !bdestdir)
) return FALSE;
bloop = f.FindFile(a);
if(!bloop) return FALSE;
if(bsourcesingle)
{
while(bloop)
{
bloop = f.FindNextFile();
if(f.IsNormal())
{
if(bmove)
return MoveFile(f.GetFilePath(), b);
return CopyFile(f.GetFilePath(), b, TRUE);
}
}
}
else
{
CString dest;
while(bloop)
{
bloop = f.FindNextFile();
if(!f.IsDots() && !f.IsDirectory())
{
dest.Format(_T("%s%s"), b, f.GetFileName());
// TRACE(_T("copy file from : %s - to : %s\r\n"), f.GetFilePath(), dest);
if(bmove)
{
if(!MoveFile(f.GetFilePath(), dest))
return FALSE;
}
else
{
if(!CopyFile(f.GetFilePath(), dest, FALSE))
return FALSE;
}
}
}
}
return TRUE;
}