VC中判断目录是否存在的方法
来源:互联网 发布:软件测试笔试题库 编辑:程序博客网 时间:2024/04/29 05:20
方法一、使用改变当前目录的函数
如果目录不存在,改变会出错。
int _chdir( const char *dirname );
int _wchdir( const wchar_t *dirname );
bool FolderIsExist(CString szPathName)
{
CString szErrMsg = "";
if(_wchdir(szPathName)) //changing the current working directory.
{
switch(errno)
{
case ENOENT:
szErrMsg = "Unable to locate the directory: ";
szErrMsg += szPathName;
break;
case EINVAL:
szErrMsg = "Invalid buffer.";
break;
default:
szErrMsg = "Unknown error.";
}
}
if(szErrMsg != ""){
MessageBox(szErrMsg, L"Error", MB_ICONERROR | MB_OK);
return true;
}
else
return false;
}
方法二、使用文件查找函数FindFirstFile
VC中文件的查找也包括目录,该函数如下:
HANDLE WINAPI FindFirstFile( __in LPCTSTR lpFileName, __out LPWIN32_FIND_DATA lpFindFileData );
其中,LPWIN32_FIND_DATA 为一结构:
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[MAX_PATH];
TCHAR cAlternateFileName[14];
} WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
通过dwFileAttributes可判断查到的是否为目录,方法如下:
bool FolderIsExist(CString sPath)
{
WIN32_FIND_DATA wfd;
BOOL bValue = FALSE;
HANDLE hFile = FindFirstFile(sPath, &wfd);
if ((hFile != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
bValue = TRUE;
}
FindClose(hFile);
return bValule;
}
- VC中判断目录是否存在的方法
- VC中判断目录,文件是否存在,创建目录,求目录或文件大小的方法
- VC中判断目录,文件是否存在,创建目录,求目录或文件大小的方法
- VC中判断目录,文件是否存在,创建目录,求目录或文件大小的方法
- VC中判断目录,文件是否存在,创建目录,求目录或文件大小的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC中判断目录,文件是否存在,创建目录的方法
- VC判断文件目录是否存在的众多方法
- VC中判断目录是否存在
- VC判断目录是否存在
- VC判断目录是否存在
- vc中判断文件夹是否存在的方法
- C VC++ 下判断目录是否存在
- jdbc 与 mysql连接
- 分水岭算法给我的困扰!!
- 面试题
- 我只想只做一件事
- CSS层样式 图片效果
- VC中判断目录是否存在的方法
- 每周四十小时,你有多少是在为自己干活?
- 面试题--回忆篇
- ansi与unicode
- 数字水印学习系统
- 用State替换状态改变条件语句
- oracle异常整理(协议适配错误)
- 高性能网页开发的14条军规
- JavaScript对象