用Windows API分解路徑

2021-06-02 01:29:07 字數 796 閱讀 9783

在很多**中看到,由於需要獲取乙個路徑字串中的檔名或者副檔名,很多程式設計師都用了c庫中的字串查詢函式來獲取。這樣子寫得**很多,也麻煩。

其實在vc中,可以用更好的方法來獲取。沒有什麼特別多說明,**如下:

lptstr szfilename = new 

tchar[max_path];

getmodulefilename(null, szfilename , max_path);

// 獲取碟符、檔名、副檔名等資訊

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函式不會改變szfilename中的內容,但是pathremovefilespec卻會改變。

標頭檔案:

_wsplitpath_s() 在stdlib.h中。

pathremovefilespec()函式在shlwapi.h中。

Windows API 獲取系統路徑

但是這樣每次開發效率就比較低,所以還是整理下吧,加深下印象,至少後面可以在自己部落格裡就能輕鬆的找到了吧。直接上 吧。include stdafx.h include include include include define make pair id std pair id,t id void ...

Delphi下用WindowsAPI建立窗體

delphi 下呼叫windows api 建立窗體.模板 by hottey 2004 4 13 0 18 作者 視窗訊息處理函式.function mywinproc hwnd thandle umsg uint wparam,lparam cardinal cardinal exp ort s...

用WindowsAPI實現檔案複製功能

注釋也在裡面 檔名為 copyfile.c 執行出來的exe為 copyfile.exe include include define buf size 256 int main int argc,lptstr argv 如果通過上面判斷語句的話說明引數輸入符合形式 則進行下乙個判斷 1 判斷檔案1...