c++获取工程路径、解决方案路径和.exe路径

c++系列文章目录

前言

在编程中经常会用到文件路径,如果写绝对路径,把工程复制到另一台机器上,在别人机器上路径就错误了,所以最好用相对路径,这样工程拷贝到其他机器上也不用修改文件路径了。

一、获取工程路径

得到xxxxx.vcxproj 目录

#include <direct.h>
#include <locale>
#include <codecvt>

string getFilePath()
{
	char* path = nullptr;
	path = _getcwd(nullptr, 1);
	puts(path);

	string filePath(path);
	return filePath;

	delete path;
	path = nullptr;

}

在这里插入图片描述

二、获取可执行文件路径

得到xxx.exe路径,注意GetModuleFileName会得到路径+“xxxx.exe”

string TCHAT_to_string(TCHAR* STR)
{
	int iLen = WideCharToMultiByte(CP_ACP, 0, STR, -1, nullptr, 0, nullptr, nullptr);
	char* chRtn = new char[iLen * sizeof(char)];
	WideCharToMultiByte(CP_ACP, 0, STR, -1, chRtn, iLen, nullptr, nullptr);
	string str(chRtn);

	int pos = str.find_last_of("\\", str.length());
	string exePath = str.substr(0, pos);

	return exePath;
}

string getExePath()
{
	TCHAR szExePath[MAX_PATH];
	GetModuleFileName(nullptr, szExePath, sizeof(szExePath));

	string exePath = TCHAT_to_string(szExePath);
}

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值