C++路径的整理
写C++,路径的问题一直都让人很头疼,抽空整理一些方法;也许以后会用到:
1."./" 加不加都一样,就是指当前目录
2."../" 表示当前目录的上级目录,即当前的父目录。
(这里的当前目录就是指.vcxproj和当前运行的.cpp文件所在目录,而不是.sln文件所在目录)
注意:前面两种在工程文件夹里面执行时没有问题的,但是打包成DLL,被调用就行不通了;
3.获取当前执行文件的路径(不包括文件名)——(dll获取自身路径)
char path[MAX_PATH];
GetCurrentDirectory(MAX_PATH, path);
4.GetModuleFileName(NULL,exeFullPath,MAX_PATH);//得到程序模块名称,全路径,也就是当前运行程序的全路径
GetModuleFileName函数原型
DWORD GetModuleFileName(
HMODULE hModule, //将要得到的模块的句柄;如果是当前模块,NULL
LPTSTR lpFilename, //保存路径缓存区的名字
DWORD nSize //缓存区的大小
windows路径操作API函数
|
路径截断与合并函数 |
|
|
PathRemoveArgs |
去除路径的参数 |
|
PathRemoveBackslash |
去除路径最后的反斜杠“\” |
|
PathAddBackslash |
在路径最后加上反斜杠“\” |
|
PathRemoveBlanks |
去除路径前后的空格 |
|
PathAddExtension |
在文件路径后面加上扩展名 |
|
PathRemoveExtension |
去除文件路径扩展名 |
|
PathRenameExtension |
更改文件路径扩展名 |
|
PathRemoveFileSpec |
去除文件名,得到目录 |
|
PathUnquoteSpaces |
去除路径中的首尾空格 |
|
PathQuoteSpaces |
判断路径中是否有空格,有的话,就是用“”引号把整个路径包含起来 |
|
PathAppend |
将一个路径追加到另一个路径后面 |
|
PathCombine |
合并两个路径 |
|
PathSkipRoot |
去掉路径中的磁盘符或UNC部分。 |
|
PathStripPath |
去掉路径中的目录部分,得到文件名。 |
|
PathStripToRoot |
去掉路径的文件部分,得到根目录。 |
|
PathCompactPath |
根据像素值生成符合长度的路径。 如原始路径: C:\path1\path2\sample.txt 根据120像素截断后为: C:\pat...\sample.txt |
|
PathCompactPathEx |
根据字符个数来生成符合长度的路径。 |
|
PathSetDlgItemPath |
将路径数据设置到对话框的子控件上。 |
|
PathUndecorate |
去除路径中的修饰——具体还没看明白,MSDN的例子只是去掉了括号。 |
|
PathUnExpandEnvStrings |
将路径中部分数据替换为系统环境变量格式 |
|
路径查找比较函数 |
|
|
PathFindOnPath |
从路径中查找路径 |
|
PathFindExtension |
查找路径的扩展名 |
|
PathFindFileName |
获取路径的文件名 |
|
PathFindNextComponent |
查找匹配路径(不太熟悉) |
|
PathFindSuffixArray |
查找给定的文件名是否有给定的后缀。 |
|
PathGetArgs |
获取路径参数 |
|
PathGetCharType |
获取路径字符类型 |
|
PathGetDriveNumber |
根据逻辑盘符返回驱动器序号 |
|
路径转换函数 |
|
|
PathRelativePathTo |
创建一个路径到另一个路径的相对路径。 |
|
PathResolve |
将一个相对路径或绝对路径转换为一个合格的路径,这个理解起来比较拗口。 |
|
PathCanonicalize |
规范化路径。将格式比较乱的路径整理成规范的路径格式。 |
|
PathBuildRoot |
根据给定的磁盘序号创建根目录路径 |
|
CreateDirectory |
创建目录 |
|
GetShortPathName |
将长路径转为8.3格式的短路径格式 |
|
GetLongPathName |
将短路径格式转为长路径。 |
|
PathGetShortPath |
将长路径转为短路径格式(8.3格式) |
|
PathCreateFromUrl |
将URL路径转为MS-DOS格式 |
|
PathMakePretty |
把路径全部转为小写,增加可读性。 |
|
PathMakeSystemFolder |
给路径增加系统属性 |
|
PathUnmakeSystemFolder |
去除路径中的系统属性。 |
|
PathMakeUniqueName |
从模板创建统一的路径格式——没用过,不熟悉 |
|
PathProcessCommand |
生成一个可执行的路径,比如有参数的,会自动将路径用“”包含。 这在ShellExecute中比较有用。 |
|
路径验证函数 |
|
|
PathCleanupSpec |
去除路径中不合法的字符 |
|
PathCommonPrefix |
比较并提取两个路径相同的前缀 |
|
PathFileExists |
验证路径是否存在 |
|
PathMatchSpec |
判断路径是否匹配制定的扩展名。 |
|
PathIsDirectory |
判断路径是否是一个有效的目录 |
|
PathIsFileSpec |
验证路径是否一个文件名(有可能是一个路径) |
|
PathIsExe |
验证路径是否是可执行文件。注意:不仅仅是.exe,还有.bat,.com,.src等 |
|
PathIsRoot |
路径是否为根路径 |
|
PathIsRelative |
判断路径是否是相对路径 |
|
PathIsContentType |
检测文件是否为制定类型。 例如:PathIsContentType( PathIsContentType( |
|
PathIsHTMLFile |
判断路径是否是html文件类型——根据系统注册类型判断。 |
|
PathIsLFNFileSpec |
判断路径是否是长路径格式 |
|
PathIsNetworkPath |
判断路径是否是一个网络路径。 |
|
PathIsPrefix |
判断路径是否含有指定前缀 |
|
PathIsSameRoot |
判断路径是否有相同根目录 |
|
PathIsSlow |
判断路径是否是一个高度延迟的网络连接——我也不太明白是啥意思。 |
|
PathIsSystemFolder |
判断路径是否有系统属性(属性可以自己设定) |
|
PathIsUNC |
路径是否是UNC格式(网络路径) |
|
PathIsUNCServer |
路径是否是UNC服务器 |
|
PathIsUNCServerShare |
路径是否仅仅是UNC的共享路径格式 |
|
PathIsURL |
路径是否是http格式。 |
|
PathYetAnotherMakeUniqueName |
基于已存在的文件,自动创建一个唯一的文件名。比较有用,比如存在“新建文件”,此函数会创建文件名“新建文件(2)”。 |
C++路径的整理的更多相关文章
- jsp中的路径问题
在学jsp的时候我每次都遇到路径的问题,每次都不能够说100%的把这搞定,这让我很烦恼,今天下午花了点时间来把路径问题整理了下. 一:首先我们在加载项目(我的项目名称是FinalExam)是的路径是h ...
- Python实现自动整理文件
前言 工作上的文档和资料好几个月没整理了,因为平常太忙都是随手往桌面丢.整个桌面杂乱无章全是文档和资料.几乎快占满整个屏幕了,所有我必须要整理一下了.但是手动整理太费时间了,于是我想到了python. ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- IOS开发基础知识--碎片13
1:运行程序报the file couldn't be opened because you don't have permission to view it 解决办法:项目—>targets- ...
- Windows7服务无法启动的解决
这周六,我接到了一个很诡异的案例,表现为任务栏右下角网络连接图标始终为一个红叉,已排除网卡硬件.链路和网卡驱动的问题.主板都新换了一块,可是问题依旧,这无疑将问题的根源指向了操作系统.本想通过网络疑难 ...
- springBoot actuator监控配置及使用
准备环境: 一个springBoot工程 第一步:添加以下依赖 <dependency> <groupId>org.springframework.boot</group ...
- 使用Excel批量提取文件名
Excel中如何快速选择所有奇数行或偶数行? 方法3:=MOD(ROW(),2) 总结:方法1和方法2的区别主要在ctrl键的使用 轻松将一个文件夹里所有的文件名提取出来,放到Excel表格里 &qu ...
- Scyther-Semantics and verification of Security Protocol
1 .本书前一节主要是介作者自己的生平经历(读完感觉作者是个神童),目标明确作者13岁代码已经写的很溜了.自己也开了网络公司,但是后面又专注于自己的计算机基础理论,修了哲学的博士学位(不得不说很多专业 ...
- spring boot监控--actuator
原文地址:http://blog.csdn.net/wh_ouyangshuang/article/details/48048111 spring-boot-actuator模块提供了一个监控和管理生 ...
随机推荐
- PostgreSQL存取jsonb
从PostgreSQL 9.3开始,json就成了postgres里的一种数据类型,也就是和varchar.int一样,我们表里的一个字段的类型可以为json了. 与此同时,postgres还提供了j ...
- Python 基础之集合相关操作与函数和字典相关函数
一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...
- 对于JAVA语言的一点理解
java作为一门面向对象的语言,现在常常被用于企业服务器端的后台开发.同时,C语言可能更多地是用于嵌入式的开发,所谓的嵌入式就是航天飞机上的设备软件之类的东西.但是,我逐渐发现,我们平时所说的java ...
- 查漏补缺之slice
interviewer:说一说slice interviewee: 主要包括以下几点 slice and array slice的底层数据结构 length和capacity 切片的capacity的 ...
- mmap 与 munmap
功能描述 mmap(memory map) 将一个文件或其他对象映射进内存. 文件被映射到多个page上, 若文件的大小不是所有page的大小之和, 最后一个page不被使用的空间将会被清零. mum ...
- Linux之系统优化配置
Linux系统优化配置 更新国内镜像源 国内速度快的常用更新源如下: http://mirrors.sohu.com http://mirrors.163.com [root@greymous ...
- I Hate it-HDU1754 点修改+区间最大值
题意: 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感.不管你喜不喜欢, 现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然, ...
- 【剑指Offer面试编程题】题目1214:丑数--九度OJ
把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 输入: 输入包括一个 ...
- three.js的一些介绍
什么是 WebGL? WebGL(Web 图形库)是一种 JavaScript API,用于在任何兼容的 Web 浏览器中呈现交互式 3D 和 2D 图形,而无需使用插件.WebGL 通过引入一个与 ...
- TP-Link TL-WR841N v14 CVE-2019-17147 缓冲区溢出漏洞分析笔记v2018.12.31
0x00 背景 Httpd服务中的缓冲区溢出漏洞 复现参考文章https://www.4hou.com/posts/gQG9 Binwalk -Me 解压缩 File ./bin/busybox文件类 ...