C++检查某个文件或目录是否存在的函数
本文实例讲述了C++检查某个文件或目录是否存在的函数代码,分享给大家供大家参考。具体实现方法如下:
#include <Windows.h>
BOOL FileExists(LPCTSTR lpszFileName, BOOL bIsDirCheck)
{
//试图取得文件属性
DWORD dwAttributes = ::GetFileAttributesA(lpszFileName);
if ( INVALID_FILE_ATTRIBUTES == dwAttributes)
{
return FALSE;
}
//是目录
if (dwAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (bIsDirCheck) //当前检测的也是目录
{
return TRUE;
}
else
return FALSE;
}
else //是文件
{
if (bIsDirCheck)
{
return FALSE;
}
else
return TRUE;
}
}
int main(int argc, char *argv[])
{
BOOL bRetDir, bRetFile;
//测试,一个目录
bRetDir = FileExists("C:\\11\\", TRUE);
//测试, 一个文件
bRetFile = FileExists("C:\\11\\1.xls", FALSE);
return 0;
}
希望本文所述对大家的C++程序设计有所帮助。
相关推荐
-
c++判断是否为目录的示例分享
复制代码 代码如下: #include<sys/stat.h>#include<unistd.h>int is_dir(char *path){ struct stat buf; if(lstat(path , &buf) < 0){ return FALSE; } int ret = __S_IFDIR & buf.st_mode; if(ret){ return TRUE; } return FALSE;}
-
C++删除指定文件夹下N天及之前日志文件的方法
本文实例讲述了C++删除指定文件夹下N天及之前日志文件的方法.分享给大家供大家参考.具体如下: // 功能:删除nDays天及之前的日志文件 // @nDays: 0-不删除日志,3-删除3天及之前的日志(保留今天.昨天.前天的日志) ... void CRecordLog::ClearLog(UINT nDays) // 删除N天前的日志 { if (nDays > 0) { WIN32_FIND_DATA FindFileData; CString sAllFile = m_sLogFold
-
VC++获得当前进程运行目录的方法
本文实例讲述了VC++获得当前进程运行目录的方法,分享给大家供大家参考.具体实现方法如下: 该实例主要通过利用windows API获得,具体代码如下: 复制代码 代码如下: CString GetAppPath() { CString strAppPath; // 保存结果 TCHAR szModuleFileName[MAX_PATH]; // 全路径名 TCHAR drive[_MAX_DRIVE]; // 盘符名称,比如说C盘啊,D盘啊 TCHAR dir[_MAX_
-
C/C++获取目录下的文件列表信息
1.数据结构 复制代码 代码如下: struct dirent{ long d_ino; /* inode number 索引节点号 */ off_t d_off; /* offset to this dirent 在目录文件中的偏移 */ unsigned short d_reclen; /* length of this d_name 文件名长 */ unsigned char d_type;
-
VC++ 使用 _access函数判断文件或文件夹是否存在
_access函数 int _access( const char *path, int mode ); int _waccess( const wchar_t *path, int mode ); 参数 path 文件或目录路径. mode 读/写特性. 返回值 如果文件包含特定模式,每个函数返回 0. 函数返回 - 1,则名称文件不存在或不具有特定模式:在这种情况下,如下表errno 所示设置. EACCES 访问被拒绝:文件权限的设置不允许指定的访问权限. ENOENT 未找到文件名或
-
详解C++循环创建多级目录及判断目录是否存在的方法
C++循环创建多级目录 #include "unitfiles.h" #ifdef WIN32 #include <direct.h> #include <io.h> #elif LINUX #include <stdarg.h> #include <sys/stat.h> #endif #ifdef WIN32 #define ACCESS _access #define MKDIR(a) _mkdir((a)) #elif LINUX
-
C++实现读取特定路径下文件夹及文件名的方法
本文所述实例代码主要实现读取给定路径下的所有文件夹名称或所有带后缀的文件名的功能.具体解决方法如下: 主要用到了以下几个头文件(类):io.h, fstream, string. 首先,读取某给定路径下所有文件夹与文件名称,并带完整路径.实现代码如下: void getAllFiles( string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo;
-
C++选择文件夹代码的封装
本文实例讲述了C++选择文件夹代码的封装,分享给大家供大家参考.具体方法如下: 该实例分为DirDialog.h头文件与DirDialog.cpp源文件. DirDialog.h头文件代码如下: 复制代码 代码如下: #pragma once #ifndef __DIRDIALOG_H_HH #define __DIRDIALOG_H_HH #include <Shlobj.h> class CDirDialog { protected: BROWSEINFO m_bi;
-
C++遍历文件夹下文件的方法
本文实例讲述了C++遍历文件夹下文件的方法.分享给大家供大家参考.具体如下: #include <windows.h> #include <stdio.h> #include <string.h> #define LEN 1024 // 深度优先递归遍历目录中所有的文件 BOOL DirectoryList(LPCSTR Path) { WIN32_FIND_DATA FindData; HANDLE hError; int FileCount = 0; char Fi
-
C/C++中如何判断某一文件或目录是否存在
1.C++很简单的一种办法: 复制代码 代码如下: #include <iostream>#include <fstream>using namespace std;#define FILENAME "stat.dat"int main(){ fstream _file; _file.open(FILENAME,ios::in); if(!_file) { cout<<FILENAME<<&
-
C++递归删除一个目录实例
本文实例讲述了C++递归删除一个目录的实现方法.分享给大家供大家参考.具体方法如下: CFindFile的使用框架如下: 复制代码 代码如下: void Recurse(LPCTSTR pstr) { CFileFind finder; // build a string with wildcards CString strWildcard(pstr); strWildcard += _T("\\*.*"); // start work
随机推荐
- Ext grid 添加右击菜单
- 文本框回车提交与禁止提交示例
- uploader秒传图片到服务器完整代码
- json格式化/压缩工具 Chrome插件扩展版
- 使用vbs下载文件的代码加强版
- 在Nginx服务器中配置针对TCP的负载均衡的方法
- PL/SQL编程经验小结开发者网络Oracle
- VS2010发布Web网站技术攻略
- 关于request.getHeader("Referer")的问题探讨
- 解决MySQL数据库中文模糊检索问题的方法
- windows2003 DNS服务器配置(图文详解)
- Java常用面板之JScrollPane滚动面板实例详解
- JavaScript实现url地址自动检测并添加URL链接示例代码
- VPN服务器“架”出不同的精彩
- java不可逆加密算法之md5加密算法使用示例
- Java调用setStroke()方法设置笔画属性的语法 原创
- JavaScript 5 新增 Array 方法实现介绍
- 商务主机威力显现 助企业发展后劲十足
- 浅谈Angular6的服务和依赖注入
- Spring对事务管理的支持
