基于Windows API分解路徑問(wèn)題的詳解
更新時(shí)間:2013年05月17日 17:24:15 作者:
本篇文章是對(duì)Windows API分解路徑進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
在很多代碼中看到,由于需要獲取一個(gè)路徑字符串中的文件名或者擴(kuò)展名,很多程序員都用了c庫(kù)中的字符串查找函數(shù)來(lái)獲取。這樣子寫(xiě)得代碼很多,也麻煩。
其實(shí)在VC中,可以用更好的方法來(lái)獲取。沒(méi)有什么特別多說(shuō)明,代碼如下:
LPTSTR szfileName = new TCHAR[MAX_PATH];
GetModuleFileName(NULL, szfileName , MAX_PATH);
// 獲取盤符、文件名、擴(kuò)展名等信息
wchar_t drive[_MAX_DRIVE];
wchar_t dir[_MAX_DIR];
wchar_t fname[_MAX_FNAME];
wchar_t ext[_MAX_EXT];
errno_t err;
err = ::_wsplitpath_s(szFileName, drive, _MAX_DRIVE, dir, _MAX_DIR,
fname, _MAX_FNAME, ext, _MAX_EXT);
// 只獲取路徑
PathRemoveFileSpec(szFileName);
注意:_wsplitpath_s函數(shù)不會(huì)改變szFileName中的內(nèi)容,但是PathRemoveFileSpec卻會(huì)改變。
頭文件:_wsplitpath_s() 在stdlib.h中。
PathRemoveFileSpec()函數(shù)在shlwapi.h中。
其實(shí)在VC中,可以用更好的方法來(lái)獲取。沒(méi)有什么特別多說(shuō)明,代碼如下:
復(fù)制代碼 代碼如下:
LPTSTR szfileName = new TCHAR[MAX_PATH];
GetModuleFileName(NULL, szfileName , MAX_PATH);
// 獲取盤符、文件名、擴(kuò)展名等信息
wchar_t drive[_MAX_DRIVE];
wchar_t dir[_MAX_DIR];
wchar_t fname[_MAX_FNAME];
wchar_t ext[_MAX_EXT];
errno_t err;
err = ::_wsplitpath_s(szFileName, drive, _MAX_DRIVE, dir, _MAX_DIR,
fname, _MAX_FNAME, ext, _MAX_EXT);
// 只獲取路徑
PathRemoveFileSpec(szFileName);
注意:_wsplitpath_s函數(shù)不會(huì)改變szFileName中的內(nèi)容,但是PathRemoveFileSpec卻會(huì)改變。
頭文件:_wsplitpath_s() 在stdlib.h中。
PathRemoveFileSpec()函數(shù)在shlwapi.h中。
您可能感興趣的文章:
- 使用WindowsAPI獲取錄音音頻的方法
- python調(diào)用windows api鎖定計(jì)算機(jī)示例
- C#中調(diào)用Windows API的技術(shù)要點(diǎn)說(shuō)明
- 使用winapi安裝Windows服務(wù)示例程序
- Windows API函數(shù)大全(完整)
- WINDOWS 2000下使用ISAPI方式安裝PHP
- Windows程序內(nèi)部運(yùn)行機(jī)制實(shí)例詳解
- Windows中使用計(jì)劃任務(wù)自動(dòng)執(zhí)行PHP程序?qū)嵗?/a>
- 深入詳解C編寫(xiě)Windows服務(wù)程序的五個(gè)步驟
- 使用WindowsAPI實(shí)現(xiàn)播放PCM音頻的方法
相關(guān)文章
C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)三子棋游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08C語(yǔ)言獲取Shell返回結(jié)果的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇C語(yǔ)言獲取Shell返回結(jié)果的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07利用stream實(shí)現(xiàn)一個(gè)簡(jiǎn)單的http下載器
這篇文章主要介紹了利用stream實(shí)現(xiàn)一個(gè)簡(jiǎn)單的http下載器的相關(guān)資料,需要的朋友可以參考下2015-03-03C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02