shlwapi.dll中的实用API函数发布

在windows   system目录下有这个动态链接库


 BOOL PathFileExists(LPCTSTR lpszPath)
功能:检查文件/路径是否存在
  
LPTSTR PathFindFileName(LPCTSTR pPath)
功能:获得路径中的文件名
例如: PathFindFileName( “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  
);
功能:从指定目录树中寻找文件

ExtractFilePath()
  功能:返回完整文件名中的路径
  函数原型如下:
  AnsiString __fastcall ExtractFilePath;
  ExtractFilePath和相近函数:
  ExtractFileDrive :返回完整文件名中的驱动器,如"C:" 
  ExtractFilePath:返回完整文件名中的路径,最后带“/”,如"C:\test\" 
  ExtractFileDir:返回完整文件名中的路径,最后不带“/” ,如"C:\test" 
  ExtractFileName:返回完整文件名中的文件名称 (带扩展名),如"mytest.doc" 
  ExtractFileExt 返回完整文件名中的文件扩展名(带.),如".doc" 
  extractfiledir //这个没有最后的 \ 
  extractfilepath //这个最后有 \

ExpandFileName()

#include   "shlwapi.h"   
  #   pragma   comment(lib,"shlwapi.lib") 

参考文档 :http://blog.chinaunix.net/uid-7608308-id-2048126.html

C++常用的文件操作路径函数的更多相关文章

  1. python 文件操作: 文件操作的函数, 模式及常用操作.

    1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...

  2. python 文件操作的函数

    1. 文件操作的函数 open(文件名(路径), mode="?", encoding="字符集") 2. 模式: r, w, a, r+, w+, a+, r ...

  3. PHP文件操作功能函数大全

    PHP文件操作功能函数大全 <?php /* 转换字节大小 */ function transByte($size){ $arr=array("B","KB&quo ...

  4. PHP常用的文件操作函数集锦

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...

  5. 常用PHP文件操作函数

    注:文件操作函数的行为受到 php.ini 中设置的影响. 当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而在 Windows 平台上,正斜杠 (/) 和反斜杠 (\) 均可使用. ...

  6. NO.3:自学python之路------集合、文件操作、函数

    引言 本来计划每周完成一篇Python的自学博客,由于上一篇到这一篇遇到了过年.开学等杂事,导致托更到现在.现在又是一个新的学期,春天也越来越近了(冷到感冒).好了,闲话就说这么多.开始本周的自学Py ...

  7. python笔记2小数据池,深浅copy,文件操作及函数初级

    小数据池就是在内存中已经开辟了一些特定的数据,经一些变量名直接指向这个内存,多个变量间公用一个内存的数据. int: -5 ~ 256 范围之内 str: 满足一定得规则的字符串. 小数据池: 1,节 ...

  8. (转) unity 在移动平台中,文件操作路径详解

    http://www.unitymanual.com/thread-23491-1-1.html 今天,这篇文章其实是个老生常谈的问题咯,在网上类似的文章也比比皆是,在此我只是做个详细总结方便大家能够 ...

  9. Day3 文件操作和函数

    一 文件操作 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1.1打开文件读取内容 print(open("sounds","r", ...

随机推荐

  1. [Vuex] Split Vuex Store into Modules using TypeScript

    When the Vuex store grows, it can have many mutations, actions and getters, belonging to different c ...

  2. IIS 重写 HTTP 重定向到 HTTPS

    1.购买SSL证书 2.IIS7 / IIS 7.5 下绑定 HTTPS 网站(购买Wildcard SSL泛域名证书可绑定多个子域名)参考上文 3.下载安装URL重写模块:Microsoft URL ...

  3. 通过__block的作用深入研究block

    block普通引用 默认情况下,在block中访问外部变量是通过复制一个变量来操作的,既可以读,但是写操作不对原变量生效,下面通过代码来举证 NSString *a = @"testa&qu ...

  4. springboot配置idea 热部署

    背景: 在开发中,当我们修改代码之后,每次都要重新启动,很是浪费时间,在springboot中就有一种热部署方式,可以实现想要修改不需要每次都重新启动,保存即可生效 用法: 一.maven 添加   ...

  5. jqGrid时间转换

    colModel: [ { label: '注册时间', name: 'createDate', index: 'create_date', width: 80, formatter:function ...

  6. Unity应用架构设计(7)——IoC工厂理念先行

    一谈到 『IoC』,有经验的程序员马上会联想到控制反转,将创建对象的责任反转给工厂.IoC是依赖注入 『DI』 的核心,大名鼎鼎的Spring框架就是一个非常卓越的的控制反转.依赖注入框架.遗憾的是, ...

  7. 基于weixin-java-mp 做微信JS签名 invalid signature签名错误 官方说明

    微信JS签名详情请见:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang= ...

  8. MySQL和Mongodb的区别与应用场景对比

    MySQL是关系型数据库 优势: 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点 ...

  9. SQL Server 2016新特性:Temporal Table

    什么是系统版本的Temporal Table 系统版本的Temporal Table是可以保存历史修改数据并且可以简单的指定时间分析的用户表. 这个Temporal Table就是系统版本的Tempo ...

  10. Python定期删除文件、整理文件夹

    1.根据传入的参数,文件所在目录,匹配文件的正则表达式,过期天数进行删除,这些可写在配置文件del_file.conf. del_file3.py #!/usr/bin/env python # en ...