<< std::endl;}if (S_IFDIR & buff.st_mode){//文件夹存在std::cout << "stat:" << cPath << "文件夹查找成功" << std::endl;std::cout << std::endl;}}}
三、 头文件
#include #pragma comment(lib,"Shlwapi.lib") //如果没有这行,会出现link错误
功能
该函数可以检测文件或目录是否存在!
原型
BOOL PathFileExists ( __in LPCTSTR pszPath );//Parameters参数pszPath[in] 类型:LPCTSTR,需要判断的文件或文件夹名//存在该文件,则返回TRUE,相反,返回FALSE.
举例
if (PathFileExists(strPath)){//文件或文件夹存在std::cout << "PathFileExists:" << "文件或文件夹查找成功" << std::endl;std::cout << std::endl;}
四、 功能
获取指定文件的状态信息
参数
要获取状态信息的结构的引用 。结构具有下列字段:
CTime文件创建日期和时间 。
CTime文件的上次更新的日期和时间 。
CTime文件用于读取最后访问的日期和时间 。
文件的逻辑大小(以字节为单位),如报告DIR命令 。
BYTE文件的属性字节 。
char [] 在字符集的绝对文件名 。
在路径所需文件的字符集的字符串 。路径可以是相对路径或绝对的,也可以包含网络路径名 。
pTM 为er对象的指针
返回值
如果指定的文件的状态信息成功获取,返回TRUE; 否则,FALSE 。
说明
的非静态版本检索打开文件的状态信息与特定 CFile 对象 。的静态版本获取从特定文件路径的文件状态,而不会实际打开文件 。这将用于测试文件是否存在以及访问权限很有用 。
结构的成员引用设置的文件属性 。CFile 选件类提供枚举类型,因此文件属性可以指定标记:
enum Attribute {normal = 0x00,readOnly = 0x01,hidden = 0x02,system = 0x04,volume = 0x08,directory = 0x10,archive = 0x20};
原型
BOOL GetStatus( CFileStatus& rStatus) const; static BOOL PASCAL GetStatus( LPCTSTR lpszFileName, CFileStatus& rStatus, CAtlTransactionManager* pTM = NULL );
例子
文章插图
CFileStatus FileStatus;BOOL bFileExists = CFile::GetStatus(strPath, FileStatus);if (bFileExists){//文件或文件夹存在std::cout << "CFileStatus:" << "文件或文件夹查找成功" << std::endl;std::cout << std::endl;}
五、 头文件
.h
或者
io.h
功能
( )函数:用于文件读取,判断文件是否存在,并判断文件是否可写 。Linux中,函数为();标准C++中,该函数为,两者的使用方法基本相同
原型
access(const char *pathname, int mode);//位于中int _access(const char *pathname, int mode);//位于中
为文件路径或目录路径 mode 为访问权限
如果文件具有指定的访问权限,则函数返回0;如果文件不存在或者不能访问指定的权限,则返回-1.
mode的值和含义如下所示:
00——只检查文件是否存在
02——写权限
04——读权限
06——读写权限
例子
nRet = _access(cPath, S_OK);if (0 == nRet){//文件或者文件夹存在std::cout << "_access:" << cPath << "文件或文件夹查找成功" << std::endl;std::cout << std::endl;}
整体测试代码
void CIsFileExistDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码CString strPath = _T("D:\\DemoTest\\IsFileExist\\IsFileExist");//方法一:CFileFindCFileFind fFile;BOOL bRet = fFile.FindFile(strPath);if (bRet){std::cout
- 考古表明我国西南或为古猿演化避难所
- 如何养蚯蚓在花盆里或者院子里?
- 你在找人吗?亦或是被找?让Cocos君来帮忙!
- 面试官:你在xx项目中有哪些亮点或是贡献亦或是小技巧?
- 如何理解「异或」的含义?
- 史海拾遗:历史上馒头或非诸葛亮发明创造
- 容器通用 linux删除docker0网卡,给网络命名空间增加或删除网卡
- 基于C++实现的经典坦克大战游戏
- 连接时空:黑洞尽头或是为另一平行宇宙
- 古代公文或信件如何加密?拆字法和代码法是什么