c++ 让你的应用支持相对路径
std::string GetCurrentExeDir()
{
	  char szPath[1024] = { 0 };
#ifdef WIN32
	  GetModuleFileName(NULL, szPath, 1024);
	  char* p = strrchr(szPath, '\\');
#else
	  readlink("/proc/self/exe", szPath, sizeof(szPath));
	  char* p = strrchr(szPath, '/');
#endif
	  *p = 0;
	  return std::string(szPath);
}
BOOL SetCurrentWorkDir(std::string strPath)
{
	  if (strPath.empty())
	{
		  strPath = GetCurrentExeDir();
	}
#ifdef WIN32
	  SetCurrentDirectory(strPath.c_str());
#else
	  chdir(strPath.c_str());
#endif
	  return TRUE;
}
先调用GetCurrentExeDir函数获取exe路径,然后使用结果设置SetCurrentWorkDir该函数参数即可,后续在应用程序里面即可使用相对路径
string strDir = GetCurrentExeDir();
SetCurrentWorkDir(strDir);
c++ 让你的应用支持相对路径的更多相关文章
- 数据库 版本号是 661,打不开。此server支持 655 和更早的版本号。不支持降级路径
		
"数据库 的版本号为 661,无法打开.此server支持 655 版及更低版本号. 不支持降级路径" 出现这种问题,通常是由于数据库版本号不同造成的. 我们能够用以下的语句查询数 ...
 - [自制操作系统] JOS文件系统详解&支持工作路径&MSH
		
本文分为两部分: 第一部分将详细分析JOS的文件系统及文件描述符的实现方法. 第二部分将实现工作路径,提供新的系统调用,完善用户空间工具. 本文中支持的新特性: 支持进程工作目录 提供getcwd与c ...
 - SpringMVC(二):RequestMapping修饰类、指定请求方式、请求参数或请求头、支持Ant路径
		
@RequestMapping用来映射请求:RequestMapping可以修饰方法外,还可以修饰类 1)SpringMVC使用@RequestMapping注解为控制指定可以处理哪些URL请求: 2 ...
 - 浅析GDAL库C#版本支持中文路径问题
		
GDAL库对于C#的支持问题还是蛮多的,对于中文路径的支持就是其中之一(另一个就是通过OGR库获取图形的坐标信息). 关于C#支持中文路径,看过我之前博客的应该都不陌生,如果使用的是我修改过的GDAL ...
 - php快速无限遍历递归文件夹目录、子文件,支持绝对路径和相对路径,支持返回生成数组
		
支持无限极遍历子文件及文件夹,支持绝对路径和相对路径! 函数说明:array glob ( string $pattern [, int $flags ] )功能:寻找与模式匹配的文件路径,返回包含匹 ...
 - 百度编辑器UEditor修改成支持物理路径
		
一.前言 我虽然工作了2年.有快1年没有做后台的开发了.最近要写个新项目用到富文本编辑器,然后选择用了百度的UEditor.在使用过程中感觉有些不太好.然后就自己手动改一下源码,写得不好请见谅.这只是 ...
 - svn不支持中文路径问题的解决
		
作者:朱金灿 来源:http://blog.csdn.net/clever101 svn的授权文件authz默认是不支持中文路径的,因此在精确控制中文文件夹的授权时往往会出错.要解决这个问题,需要用U ...
 - GDAL支持中文路径和Shp文件中文属性写入
		
在使用GDAL的过程中,为了支持中文,比需手动进行中文路径的设置,同时特别是在对Shp的属性进行中文输入的时候,都必须进行必要的设定. 为了支持中文路径,在注册了驱动之后,加上第三句就可以了.必须设置 ...
 - C# “不支持给定路径的格式”异常处理
		
问题背景 无聊研究了一下怎么发送邮件(包含附件),但发现附带的文件路径除了报错就是报错,不知道为什么. 用了不下好几种方式,比如 var x = "E:\\Git\\cmd\\git.exe ...
 - 浅析GDAL库C#版本支持中文路径问题(续)
		
上篇博客中主要说了GDAL库C#版本中存在的问题,其表现形式主要是:"文件名中的汉字个数是偶数,完全没有影响,读取和创建都正常,如果文件名中的汉字个数是奇数,读取和创建都会报错." ...
 
随机推荐
- Mall电商实战项目发布重大更新,全面支持SpringBoot 2.3.0
			
1. 前言 前面近一个月去写自己的mybatis框架了,对mybatis源码分析止步不前,此文继续前面的文章.开始分析mybatis一,二级缓存的实现. 附上自己的项目github地址:https:/ ...
 - 线上Redis高并发性能调优实践
			
项目背景 最近,做一个按优先级和时间先后排队的需求.用 Redis 的 sorted set 做排队队列. 主要使用的 Redis 命令有, zadd, zcount, zscore, zrange ...
 - Python-字符编码-Unicode UTF-8
			
什么是字符编码? --世界上有很多国家,每个国家都有自己独特的语言,所以在计算机普及的当今世界, 每个国家都有自己的字符编码,本国的软件运行在其他国家的机器上,会出现乱码, 有utf-8,gbk等各种 ...
 - 模型集成model ensemble
			
A prediction model that is composed of a set of models is called a model ensemble. Baggging 和Boostin ...
 - 共享内存Distributed Memory 与分布式内存Distributed Memory
			
我们经常说到的多核处理器,是指一个处理器(CPU)上有多个处理核心(CORE),共享内存多核系统我们可以将CPU想象为一个密封的包,在这个包内有多个互相连接的CORES,每个CORE共享一个主存,所有 ...
 - PageRank算法(网页排名)
			
Google用它来体现网页的相关性和重要性
 - 最全总结 | 聊聊 Python 数据处理全家桶(Memcached篇)
			
1. 前言 本篇文章继续继续另外一种比较常用的数据存储方式:Memcached Memcached:一款高性能分布式内存对象缓存系统,通过 内存缓存,以减少数据库的读取,从而分担数据库的压力,进而提高 ...
 - 040 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程
			
040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...
 - Xnip Mac上方便好用的截图工具
			
Xnip Mac上方便好用的截图工具 标注 Xnip 拥有齐全的标注功能,您可以对截取的图片进行标注,在标注的同时还能重新调整截图大小. 查看标注操作 GIF 滚动截图 Xnip 的滚动截图功能可以让 ...
 - vue 下载jquery 下载layui-layer 下载vue-router
			
1.下载jquery cmd:语句 npm install jquery 然后在main.js文件里面写 import $ from 'jquery' 2.下载layui-layer 在vue里面的l ...