您的位置:首页 > 编程语言 > C语言/C++

C++文件和目录的创建和删除

2015-05-15 12:40 375 查看
在创建之前检查文件或文件夹是否存在

int  MyDiaLog::CheckDir(char strs[MAX_PATH])
{
FILE* fp=NULL;
fp=fopen(strs,"r");
if(!fp)
{
return -1;
}else{
fclose(fp);
return 1;
}
}


创建目录,如果目录存在,删除目录。

使用PathIsDirectory验证目录是否存在

if (PathIsDirectory(Dir))
{
MyDiaLog::DeleteDirectory(Dir);
}
::CreateDirectory(Dir,NULL);


使用递归的方法删除目录下的子目录和文件后删除目录

void  MyDiaLog::DeleteDirectory(char* strDirName)
{
CFileFind tempFind;
char strTempFileFind[MAX_PATH];
sprintf(strTempFileFind,"%s\\*.*", strDirName);
BOOL IsFinded = tempFind.FindFile(strTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();
if (!tempFind.IsDots())
{
char strFoundFileName[MAX_PATH];
strcpy(strFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));
if (tempFind.IsDirectory())
{
char strTempDir[MAX_PATH];
sprintf(strTempDir,"%s\\%s", strDirName, strFoundFileName);
DeleteDirectory(strTempDir);

}
else
{
char strTempFileName[MAX_PATH];
sprintf(strTempFileName,"%s\\%s", strDirName, strFoundFileName);
DeleteFile(strTempFileName);
}
}
}
RemoveDirectory(strDirName);
tempFind.Close();

}


复制文件使用::CopyFile(SourceFile, NewFile, FALSE);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐