MFC中 如何判断一个字符串是否是有效的目录 或盘符
2015-07-28 13:34
567 查看
[cpp] view
plaincopyprint?
MFC中如何判断一个字符串是否是合法目录或盘符呢,网上的方法倒是不少,不过大多长篇大论,探讨的太深了,问题越搞越复杂了,今天就将我的收获分享
第一种:
WIN32_FIND_DATA wfd;
FindFirstFile(sPath,&wfd);
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY )
{
printf("it is a dir");
}
这种方法只能判定文件目录,诸如D:\软件部相关\GenetecSDK 像盘符目录 D:\ 却判定不出来
第二种
//创建一个指定的全路径目录,失败就返回false
TCHAR* fullPath = _tfullpath (NULL, sPath, 0);
if (fullPath == NULL)
return false;
//通过设置fullPath为默认目录来检测是否存在
Check if directory exists by trying to make it the default directory
TCHAR szCurrDir[_MAX_PATH];
_tgetcwd(szCurrDir, _MAX_PATH-1); //返回当前工作目录
long nStatus = _tchdir(fullPath); //改变当前工作目录
_tchdir(szCurrDir); //返回
free(fullPath);
if (nStatus == 0)
return true;
return false;
这种的功能和上面一样
第三种
if (PathIsDirectory(strPth) || PathIsRoot(strPth))
{
return TRUE;
}
else
{
return FALSE;
}
这种方法最简单,却能实现判定文件目录和 盘符
plaincopyprint?
MFC中如何判断一个字符串是否是合法目录或盘符呢,网上的方法倒是不少,不过大多长篇大论,探讨的太深了,问题越搞越复杂了,今天就将我的收获分享
第一种:
WIN32_FIND_DATA wfd;
FindFirstFile(sPath,&wfd);
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY )
{
printf("it is a dir");
}
这种方法只能判定文件目录,诸如D:\软件部相关\GenetecSDK 像盘符目录 D:\ 却判定不出来
第二种
//创建一个指定的全路径目录,失败就返回false
TCHAR* fullPath = _tfullpath (NULL, sPath, 0);
if (fullPath == NULL)
return false;
//通过设置fullPath为默认目录来检测是否存在
Check if directory exists by trying to make it the default directory
TCHAR szCurrDir[_MAX_PATH];
_tgetcwd(szCurrDir, _MAX_PATH-1); //返回当前工作目录
long nStatus = _tchdir(fullPath); //改变当前工作目录
_tchdir(szCurrDir); //返回
free(fullPath);
if (nStatus == 0)
return true;
return false;
这种的功能和上面一样
第三种
if (PathIsDirectory(strPth) || PathIsRoot(strPth))
{
return TRUE;
}
else
{
return FALSE;
}
这种方法最简单,却能实现判定文件目录和 盘符
相关文章推荐
- Ubuntu 12.04 LTS 中文输入法的安装
- xss突破长度限制的搜集
- 51的DATA,IDATA,XDATA,PDATA区别
- SpringMVC工作原理
- How to: Use a Custom User Name and Password Validator
- Java printf()占位符
- Python webservice 得到天气状态
- oracle 创建字段自增长——两种实现方式汇总(转)
- zoj1091(深度搜索
- Mysql错误及处理总结
- IAR开发STM8,如何加入每次编译的日期时间信息来做为版本信息
- C#判断一个类实现了一个接口
- jQuery中的.bind()、.live()和.delegate()之间区别分析(转)
- krpano音量控制(我们已经转移到krpano中国网站 krpano360.com)
- krpano音量控制(我们已经转移到krpano中国网站 krpano360.com)
- ubuntu彻底删除wine
- Xms Xmx PermSize MaxPermSize 区别
- PAT (Advanced Level) 1063. Set Similarity (25) set的相似度
- linux driver 简单实例
- Spring 注释 @Autowired 和@Resource 的区别