VC判断目录是否存在,如果不存在则创建新目录:

// Test Whether the dir exist
CString m_dir;
if (m_dir.Right(1) == “\\”)
    m_dir = m_dir.Left(m_dir.GetLength()-1);
if (GetFileAttributes(m_dir) == FILE_ATTRIBUTE_DIRECTORY)
    return TURE;
else
    CreateAllDirectory(m_dir); 
// Function CreateAllDirectory
// recursive function
void CreateAllDirectory(CString Dir)
{
if (Dir.Right(1) == “\\”)
    Dir = Dir.Left(Dir.GetLength()-1);
if (GetFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
    return;
else if (GetFileAttributes(Dir) != -1)
{
if (DeleteFile(Dir))                              // delete the file with the same name
if (CreateDirectory(Dir, NULL))
    return;
MessageBox(_T(“Can not create directory for captured pictures”), NULL, MB_OK);
}
int n = Dir.ReverseFind(‘\\’);
CreateAllDirectory(Dir.Left(n));
if (!CreateDirectory(Dir, NULL))
        MessageBox(_T(“Can not create directory for captured pictures”), NULL, MB_OK);
}

判断Dir中某个文件是否存在,还可以通过FileFind来实现:

BOOL FileExist(CString strFileName)
 {
     CFileFind fFind;
     return fFind.FindFile(strFileName);
 }