创建文件夹,保存文件的代码:szFolder为文件夹绝对路径,szPath为更新的文件
if(!PathFileExists(szFolder))//如果该文件夹不存在则创建文件夹
::CreateDirectory(szFolder,NULL);
CFileFind finder;
CFile file;
if (finder.FindFile(szPath))//如果此文件已存在则提示用户是否更新
{
if (IDNO == AfxMessageBox(_TT("This file is already exit,do you want replace it?"),MB_YESNO))
return;
else
{
CFileStatus status;
file.GetStatus(szPath,status);
status.m_attribute = 0x20;//修改文件属性为可写
file.SetStatus(szPath,status);
}
}
file.Open(szPath,CFile::modeCreate|CFile::modeWrite);//重新创建这个文件
file.Close();
下面是删除文件夹及其子文件夹及其所有包含文件的代码:
BOOL DeleteDirectory(CString sDirectory)
{
CString sPath = sDirectory;
sPath += "//*.*";
CFileFind finder;
CString sFileName;
BOOL bIsFindFile = finder.FindFile(sPath);
while (bIsFindFile)
{
bIsFindFile = finder.FindNextFile();
if (!finder.IsDots())
{
sFileName = finder.GetFilePath();
if (finder.IsDirectory())
{
::SetFileAttributes(sFileName, FILE_ATTRIBUTE_ARCHIVE);
if (!DeleteDirectory(sFileName))
{
return FALSE;
}
}
else
{
::SetFileAttributes(sFileName, FILE_ATTRIBUTE_ARCHIVE);
::DeleteFile(sFileName);
}
}
}
finder.Close();
::SetFileAttributes(sDirectory, FILE_ATTRIBUTE_ARCHIVE);
if (!::RemoveDirectory(sDirectory))
{
return FALSE;
}
return TRUE;
}
Trackback:http://blog.csdn.net/yzb_diablos/archive/2006/04/25/676330.aspx