- 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;
- }
- 这种方法最简单,却能实现判定文件目录和 盘符
MFC中 如何判断一个字符串是否是有效的目录 或盘符
最新推荐文章于 2021-02-09 09:59:14 发布