路徑相關API

來源:互聯網
上載者:User
需要標頭檔:shlwapi.h其中有一些函數功能存在重複,我在認為比較常用的的函數上加紅。 BOOL PathFileExists(LPCTSTR lpszPath)功能:檢查檔案/路徑是否存在 LPTSTR PathFindFileName(LPCTSTR pPath)功能:獲得路徑中的檔案名稱例如: PathFileFileName( “c://Program Files//File.txt” ) = “File.txt”。如果路徑中不包含檔案名稱,則傳回值是最下面的目錄名。 LPTSTR PathFindExtension(LPCTSTR pPath)功能:擷取路徑或檔案名稱中的副檔名例如:PathFindExtension( “File.txt” ) = “.txt” LPTSTR PathFindNextComponent(LPCTSTR pszPath)例如:PathFindNextComponent( “c://Program Files//Directory” ) = “Program Files//Directory”PathFindNextComponent( “c://Program Files” ) = “Program Files” BOOL PathFindOnPath( IN OUT LPTSTR pszFile , IN LPCTSTR * ppszOtherDirs)功能:在指定的目錄中尋找檔案。 參數:pszFile 要尋找的檔案名稱,確保 pszFile 有足夠的大小來容納 MAX_PATH 個字元。如果能找到指定的檔案,該參數將返迴文件的全路徑。

 

ppszOtherDirs該參數是首先要尋找的目錄列表,它可以為NULL,如果為NULL,函數將在系統目錄,目前的目錄和由PATH設定的目錄中尋找。LPTSTR PathGetArgs(LPCTSTR pszPath)功能:從路徑中分析參數例如:LPTSTR pszParam = PathGetArgs( “notepad.exe c://temp.txt” )pszParam 返回 “c://temp.txt”int PathGetDriveNumber(LPCTSTR lpsz)功能:從路徑中分析盤符傳回值:成功返回 0 –25 ,代表(A – Z),失敗返回 –1BOOL PathIsContentType(LPCTSTR pszPath,LPCTSTR pszContentType)功能:檢查檔案是否為指定的ContentType例如:PathIsContentType( “hello.txt” , “text/plain” ) 返回TRUEPathIsContentType( “hello.txt” , “image/gif” ) 返回FALSEBOOL PathIsDirectory(LPCTSTR pszPath)功能:檢查路徑是否為有效目錄。注意路徑不能包含檔案名稱BOOL PathIsFileSpec(LPCTSTR lpszPath)功能:檢查路徑中是否帶有 ‘:’ 和 ‘/’ 分隔字元BOOL PathIsHTMLFile(LPCTSTR pszFile)功能:檢查是否為HTML檔案BOOL PathIsPrefix(IN LPCTSTR pszPrefix,IN LPCTSTR pszPath)功能:檢查路徑是否包含指定首碼,首碼如:”盤符://” 、“..//” 、”.//”PathIsPrefix ( “c://” , “c://hello.txt” ) 返回 TRUEBOOL PathIsRelative(LPCTSTR lpszPath)功能:檢查路徑是否是相對路徑BOOL PathIsRoot(LPCTSTR pPath)功能:檢查路徑是否是根目錄BOOL PathIsSameRoot(LPCTSTR pszPath1,LPCTSTR pszPath2);功能:比較兩個路徑是否在同一盤符BOOL PathIsUNC(LPCTSTR pszPath );功能:判斷路徑是否是UNC格式BOOL PathIsURL(IN LPCTSTR pszPath );功能:判斷路徑是否是URLBOOL PathMatchSpec( LPCTSTR pszFileParam,LPCTSTR pszSpec)功能:用帶有萬用字元(*號和?號)的字串去比較另一個字串例如:PathMatchSpec( “http://news.sina.com.cn” , “*sina.com*” ) 返回TRUEPathMatchSpec( “c://hello.txt” , “*.txt” ) 返回TRUEvoid PathRemoveArgs(LPTSTR pszPath);功能:刪除路徑中帶有的參數LPTSTR PathRemoveBackslash(LPTSTR lpszPath);功能:刪除路徑結尾多餘的’/’符號void PathRemoveBlanks(LPTSTR lpszString);功能:刪除字串頭尾的空格void PathRemoveExtension( LPTSTR pszPath);功能:刪除路徑後面的副檔名BOOL PathRemoveFileSpec( LPTSTR pszPath);功能:刪除路徑後面的檔案名稱和’/’符號。該函數可以分析出一個檔案的路徑。例:szPath = “c://windows//system32//nt.dll” ;調用PathRemoveFileSpec( szPath ) 後,szPath = “c://windows//system32”BOOL PathRenameExtension( IN OUT LPTSTR pszPath,LPCTSTR pszExt);功能:替換路徑後面的副檔名,如果pszPath後面不帶副檔名,則新的副檔名會被添加上去。pszPath pszPath至少需要MAX_PATH個字元的空間pszExt 新的副檔名,必需包含 . 號void PathStripPath(LPTSTR pszPath );功能:從路徑中分析出檔案名稱例: PathStripPath( “c://test//hello.txt” ) => hello.txtBOOL PathStripToRoot( LPTSTR szRoot );功能:從路徑中分析出盤符void PathUnquoteSpaces( LPTSTR lpsz );功能:從帶引號的路徑中取出路徑例:szPath = “/”c://Program Files/”” PathUnquoteSpaces( szPath ) => szPath = “c://Program Files”附另一路徑相關函數,由ImageHlp提供BOOL SearchTreeForFile(IN LPSTR RootPath, IN LPSTR InputPathName, OUT LPSTR OutputPathBuffer );功能:從指定分類樹中尋找檔案

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.