判断一个路径串是否为有效目录
??????? 判斷一個路徑串是否為有效目錄,對一個給定的字符串sPath,我們需要判斷這個字符串是否為有效目錄,下面介紹了三種方法:
1
檢察FILE_ATTRIBUTE_DIRECTORY位操作結果值,可以使用函數GetFileAttributes或者結構
WIN32_FIND_DATA。
WIN32_FIND_DATA wfd;
FindFirstFile(sPath,&wfd);
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY == FILE_ATTRIBUTE_DIRECTORY )
{
?????? printf("it is a dir");
}
或者是:
DWORD dwAttrs;
dwAttrs = GetFileAttributes(FileData.cFileName);
if (dwAttrs & FILE_ATTRIBUTE_READONLY)
{
?????? printf("it is a dir");
}
2
//函數作用:判斷目錄是否存在
//函數參數:目錄字符串
//函數返回值:目錄存在返回true,否則false
bool dirExists(CString sPath)
{?
??? //創建一個指定的全路徑目錄,失敗就返回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;
}
3
利用shlwapi.dll的導出函數PathIsDirectory。函數的參數就是判斷字符串,成功為返回TRUE,否則FALSE。
這個算不上文章,一點總結和大家共享!還請輕點BT。
轉載于:https://www.cnblogs.com/hehe520/archive/2005/06/06/6330128.html
總結
以上是生活随笔為你收集整理的判断一个路径串是否为有效目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]ASP.NET开发经验积累
- 下一篇: 正则表达式校验例子[原创]