Path API大全

原创 2006年06月02日 14:24:00

Path API                 

需要头文件: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),失败返回 –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 

);

功能:从指定目录树中寻找文件

读书笔记:持续集成工具的选择和比较

在选择CI工具需要考虑的问题: 1)功能性: 构建工具基本功能: 代码编译:编译源代码是构建软件过程中的主要工作之一,为了提高效率,编译应该根据源代码和依赖关系是否发生变更而有条件地执行; 组件打包...
  • carolzhang8406
  • carolzhang8406
  • 2013年12月12日 10:42
  • 10750

使用TeamCity对项目进行可持续集成管理(一)

一、可持续集成管理 持续集成,CI:即Continuous integration。 可持续集成的概念是基于团队(小组)协作开发而提出来的,为了提高团队开发效率与降低集成风险(早发现,早解...
  • dz45693
  • dz45693
  • 2015年12月16日 13:51
  • 2227

Jenkins入门总结

转载:http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html在网上貌似没有找到Jenkins的中文的太多的文档,有的都是关于Hudso...
  • caiwenfeng_for_23
  • caiwenfeng_for_23
  • 2015年03月27日 23:58
  • 1550

一个基于TeamCity+GitLab+Docker的完整的持续集成方案

写这个文章的初衷是因为搜索持续集成大部分是Jenkins,TeamCity用的应该还是比较少的.搜索相关内容也很少; 自从使用了Jetbrains家的 IDEA 和 AppCode 后,对这...
  • sch1111878
  • sch1111878
  • 2017年10月27日 12:24
  • 268

SVN、CVS、VSS区别

本文和大家学习一下SVN,什么是SVN呢,它有什么作用呢,有些朋友可能不知道,带着这些问题我们来看一下本文的介绍, 本文向大家简要描述一下SVN与CVS、VSS的介绍与对比: SVN全称subve...
  • xifeijian
  • xifeijian
  • 2013年01月30日 10:09
  • 8287

文件处理函数

这两天在写个遍历文件批处理的小工具,碰到几个时间相关的函数,整理了下,说不定以后可能会再用到呢~   //判断文件是否存在 bool FileIsExists(LPCSTR filePath) { ...
  • longlong530
  • longlong530
  • 2014年04月04日 10:41
  • 831

与路径处理相关的WIN32 API

1.PathFileExists  判断路径是否存在 2.
  • linfengmove
  • linfengmove
  • 2014年11月03日 14:18
  • 975

Path API大全

Path API                  需要头文件:shlwapi.h其中有一些函数功能存在重复,我在认为比较常用的的函数上加红。 BOOL PathFileExists(LPCTSTR ...
  • lbird
  • lbird
  • 2006年06月02日 14:24
  • 3572

Windows API函数大全(精心总结)

总结整理了一下,便于Windows开发时查找。
  • hzm8341
  • hzm8341
  • 2017年02月22日 21:56
  • 1077

Windows API函数大全(完整)

1. API之网络函数  WNetAddConnection 创建同一个网络资源的永久性连接  WNetAddConnection2 创建同一个网络资源的连接  WNetAddConnectio...
  • notbaron
  • notbaron
  • 2015年03月25日 23:58
  • 33184
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Path API大全
举报原因:
原因补充:

(最多只允许输入30个字)