MFC或C/C++中如何判断目录存在,文件/文件夹存在,亦或是文件夹存在

判断的方式太多太多,这里暂时列举5中方式 。
在文章开始之前,由于需要用到转char功能,所以先介绍一个转char的方法:
想知道更多参见与char *互转总结
由于本文使用的编码模式,所以如下:
int CIsFileExistDlg::UnicodeToChar(CString& strIn, char* pOut, int nLen){if (NULL == pOut){return 0;}int len = WideCharToMultiByte(CP_ACP, 0, strIn, -1, NULL, 0, NULL, NULL);len = min(len, nLen);WideCharToMultiByte(CP_ACP, 0, strIn, -1, pOut, len, NULL, NULL);if (len
一、 1、头文件
afx.h
2、功能
执行本地文件的查找(查找某个具体的文件,查找某类文件x*.x*,查找所有文件*.*
3、延伸4、类的成员函数我根据其操作特性划分为3类:
+ 查找操作类+ 获得文件属性类+ 判断文件属性类 。
查找操作类
::FindFile();::FindNextFile();
获得文件属性类
::GetCreationTime();::GetLastAccessTime();::GetLastWriteTime();::GetFileName();//带后缀的文件名::GetRoot();//盘符::GetFilePath();//全路径::GetFileTitle();//不带后缀的文件名::GetFileURL();//URL串::GetLength();//
判断文件属性类
::IsArchived();::IsCompressed();::IsDirectory();::IsDots();::IsHidden();::IsNormal();::IsReadOnly();::IsSystem();::IsTemporary();::MatchesMask();
5、类中成员函数使用应注意的顺序
在创建了对象后,先执行::()函数,然后执行::(),然后选择执行(获得文件属性类)的函数或者(判断文件属性类)函数 。
6、类成员函数的详细分析
virtual BOOL FindFile(LPCTSTR pstrName = null,DWORD dwUnused = 0);//该函数若返回非0 则表明执行成功,0 则表明执行不成功 。//pstrName:需要查找的文件名,例:“E:\\编程工具\\VC++\\MFC例子.rar”,“E:\\编程工具\\VC++\\MFC*.rar”,“E:\\编程工具\\VC++\\*.*”,也可以是NULL表示“*.*” 。//dwUnused:必须为0virtual BOOL FindNextFile();//该函数返回值非0 还有符合条件的文件,0表示是最后一个文件 。virtual BOOL GetCreationTime(FILETIME *pFileTime) const;virtual BOOL GetCreationTime(CTime& refTime) const;//该函数用来获得查找到的某个文件的创建时间,返回值非0 获得创建时间成功操作,0表示执行获得创建时间失败或者FindNextFile()没有被执行的时候 。//FILETIME *:容纳时间的结构指针//CTime&:容纳时间的对象地址此处介绍:FILETIME和CTime相互转换的处理方法:#FILETIME转CTime的方法:A、CTime对象在初始化时可以传递FILETIME结构FILETIME ft;CTime time(ft);B、将FILETIME转换为SYSTEMTIME,然后CTime对象在初始化时可以传递SYSTEMTIME结构FILETIME ft;SYSTEMTIME st;BOOL bSuccess = ::FileTimeToSystemTime(&ft , &st);CTime time(st);#CTime转FILETIME方法:CTime time(CTime::GetCurrentTime());SYSTEMTIME st;time.GetAsSystemTime(st);FILETIME ft;::SystemTimeToFileTime(&st,&ft);virtual BOOL GetLastAccessTime(FILETIME *pFileTime) const;virtual BOOL GetLastAccessTime(CTime& refTime) const;//该函数用来获得某个文件最后被访问的时间,非0表示执行成功,0表示执行失败或者FindNextFile()函数没有执行的时候 。virtual BOOL GetLastWriteTime(FILETIME *pFileTime) const;virtual BOOL GetLastWriteTime(CTime& refTime) const;//该函数用来获得某个文件最后被访问的时间,非0表示执行成功,0表示执行失败或者FindNextFile()函数没有执行的时候 。virtual CString GetFilePath() const;//该函数用来获得查找到的文件绝对路径,必须在执行了FindNextFile()后该函数才能执行成功 。//返回的结果是CString对象,例“E:\\编程工具\\VC++\\MFC.rar”virtual CString GetFileName() const;//该函数用来获得查找到的文件的全称,必须在执行了FindNextFile()后该函数才能执行成功 。//返回的结果是CString对象,例“MFC.rar”virtual CString GetFileTitle() const;//该函数用来获得查找到的文件的名称,必须在执行了FindNextFile()后该函数才能执行成功 。//返回的结果是CString对象,例“MFC”virtual CString GetRoot() const;//该函数用来获得查找到的文件的根目录,必须在执行了FindNextFile()后该函数才能执行成功 。//返回的结果是CString对象,例“E:\\编程工具\\VC++\\”virtual CString GetFileURL() const;//该函数用来获得查找到的文件的URL路径,必须在执行了FindNextFile()后该函数才能执行成功 。//返回的结果是CString对象,例“file://E:\\编程工具\\VC++\\MFC.rar”DWORD GetLength() const;//该函数返回值获得查找到的文件的长度,必须在执行了FindNextFile()后该函数才能执行成功 。BOOL IsArchived() const;//该函数用来判断查找的文件属性是否是档案文件,非0表示是,0表示不是 。必须在执行了FindNextFile()后该函数才能执行成功BOOL IsCompressed() const;//该函数用来判断查找的文件属性是否是压缩文件,非0表示是,0表示不是 。必须在执行了FindNextFile()后该函数才能执行成功BOOL IsDirectory() const;//该函数用来判断查找的文件属性是否是路径文件,非0表示是,0表示不是 。必须在执行了FindNextFile()后该函数才能执行成功BOOL IsDots() const;//该函数用来判断查找的文件属性是否是“.”,“..”,非0表示是,0表示不是 。必须在执行了FindNextFile()后该函数才能执行成功BOOL IsHidden() const;//该函数用来判断查找的文件属性是否隐藏文件,非0表示是,0表示不是 。必须在执行了FindNextFile()后该函数才能执行成功BOOL IsNormal() const;//该函数用来判断查找的