判断路径(文件或文件夹)是否存在
2.CFile和CFileStatus类
CFile的静态函数GetStatus如果返回FALSE表示文件不存在
3.CFileFind类
直接使用该类的成员函数FindFile进行判断
3.判断文件夹是否存在
BOOL FileExist(CString strPath)
{
WIN32_FIND_DATA wfd;
BOOL rValue = FALSE;
HANDLE hFind = FindFirstFile(strPath, &wfd);
if ( hFind!=INVALID_HANDLE_VALUE )
{
rValue = TRUE;
}
FindClose(hFind);
return rValue;
}
判断路径是否为文件夹
#pragma comment(lib,"shlwapi.lib")
#include <shlwapi.h>
BOOL PathIsDirectory(strPath)
判断文件是否存在。
1._access函数,在io.h中。
原型:int _access(const char *filename, int amode);
参数amode(好象有5种模式)
0:检查文件是否存在
1:检查文件是否可运行
2:检查文件是否可写访问
4:检查文件是否可读访问
还有一种,由于MSDN突然坏了,暂时保留着
if ( _access(file,0) )
{
//文件不存在
}
2.CFile和CFileStatus类
CFile的静态函数GetStatus如果返回FALSE表示文件不存在
CFileStatus fs;
if ( !CFile::GetStatus(strFileName,fs) )
{
//文件不存在
}
3.CFileFind类
直接使用该类的成员函数FindFile进行判断
CFileFind ff;
if ( !ff.FindFile(strFileName) )
{
//文件不存在
}
ff.Close();
3.判断文件夹是否存在
DirExists(sPath);
VC中判断目录,文件是否存在,创建目录,求目录或文件大小的方法
目录是否存在检查:
文件存在性检查:
创建目录:
当然在CFileFind里面有GetLength()函数,也可以求得。 文件夹大小
VC删除文件夹下所有文件的代码
//删除文件夹目录(非空)
![]() ![]()
![]() ![]() ![]() ![]()
|
如果不进行递归删除。你可以使用API函数SHFileOperation,它可以一次删除目录及其下面的子目录和文件。
示例代码:
BOOL DelTree(LPCTSTR lpszPath) { SHFILEOPSTRUCT FileOp; FileOp.fFlags = FOF_NOCONFIRMATION; FileOp.hNameMappings = NULL; FileOp.hwnd = NULL; FileOp.lpszProgressTitle = NULL; FileOp.pFrom = lpszPath; FileOp.pTo = NULL; FileOp.wFunc = FO_DELETE; returnSHFileOperation(&FileOp) == 0;
}