路径相关API

需要头文件:shlwapi.h

Minimum DLL Versionshlwapi.dll version 4.71 or later
Custom ImplementationNo
Headershlwapi.h
Import libraryshlwapi.lib
Minimum operating systemsWindows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0
UnicodeImplemented as ANSI and Unicode versions.

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),失败返回 –1
BOOL PathIsContentType(LPCTSTR pszPath,LPCTSTR pszContentType)
功能:检查文件是否为指定的ContentType
例如:PathIsContentType( “hello.txt” , “text/plain” ) 返回TRUE
 PathIsContentType( “hello.txt” , “image/gif” ) 返回FALSE
BOOL 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” ) 返回      TRUE
BOOL PathIsRelative(LPCTSTR lpszPath)
功能:检查路径是否是相对路径
BOOL PathIsRoot(LPCTSTR pPath)
功能:检查路径是否是根目录
BOOL PathIsSameRoot(LPCTSTR pszPath1,LPCTSTR pszPath2);
功能:比较两个路径是否在同一盘符
BOOL PathIsUNC(LPCTSTR pszPath );
功能:判断路径是否是UNC格式
BOOL PathIsURL(IN LPCTSTR pszPath );
功能:判断路径是否是URL
BOOL PathMatchSpec( LPCTSTR pszFileParam,LPCTSTR pszSpec)
功能:用带有通配符(*号和?号)的字符串去比较另一个字符串
例如:PathMatchSpec( “http://news.sina.com.cn” , “*sina.com*” ) 返回TRUE
PathMatchSpec( “c:\\hello.txt” , “*.txt” ) 返回TRUE
void 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.txt
BOOL 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  );
功能:从指定目录树中寻找文件

 

 

 

char moduleFileName[MAX_PATH]={0};
 GetModuleFileNameA(NULL, moduleFileName, MAX_PATH);
 PathRemoveFileSpec(moduleFileName);
 CString strFile;
 strFile.Format("%s\\%s",moduleFileName, strFileName);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值