C++中获取当前exe的路径

目录

 

一、目的:不想使用公司库,需要将文件放到exe所在的文件夹里面,这样就不需要使用绝对路径了

一、参考:

1、c/c++ 获取当前程序(EXE)所在的路径

①总结:很好用,下面是修改后的程序


一、目的:不想使用公司库,需要将文件放到exe所在的文件夹里面,这样就不需要使用绝对路径了

一、参考:

1、c/c++ 获取当前程序(EXE)所在的路径

https://blog.csdn.net/chence19871/article/details/7440196#

①总结:很好用,下面是修改后的程序

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
#include <string>

using namespace std;

string GetExePath()
{
	char szFilePath[MAX_PATH + 1] = { 0 };
	GetModuleFileNameA(NULL, szFilePath, MAX_PATH);
	/*
	strrchr:函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),
	并返回这个位置的地址。如果未能找到指定字符,那么函数将返回NULL。
	使用这个地址返回从最后一个字符c到str末尾的字符串。                                                                  
	*/
	(strrchr(szFilePath, '\\'))[0] = 0; // 删除文件名,只获得路径字串//
	string path = szFilePath;
	return path;
}

//int main_exePathTest(void)
int main()
{
	string str= GetExePath();
	system("pause");
	return 0;
}


 

 

 

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++,可以使用不同的方法来获取当前路径。其一种方法是使用Windows.h头文件的GetCurrentDirectory函数。这个函数的原型是DWORD GetCurrentDirectory(\[in\] DWORD nBufferLength, \[out\] LPTSTR lpBuffer)。你可以在程序包含Windows.h头文件,并使用GetCurrentDirectory函数来获取当前路径。例如,你可以使用以下代码来获取当前路径: #include <iostream> #include <Windows.h> using namespace std; int main(void) { char buf\[1000\]; GetCurrentDirectory(1000, buf); cout << buf << endl; system("pause"); return 0; } 另一种方法是使用getcwd函数。你可以在程序包含头文件<direct.h>,并使用getcwd函数来获取当前路径。例如,你可以使用以下代码来获取当前路径: #include <iostream> #include <direct.h> using namespace std; int main(void) { char *buffer; buffer = getcwd(NULL, MAX_PATH); if (buffer != NULL) { cout << buffer << endl; } return 0; } 除了以上两种方法,还可以使用GetModuleFileName函数来获取当前路径。你可以在程序包含Windows.h头文件,并使用GetModuleFileName函数来获取当前路径。例如,你可以使用以下代码来获取当前路径: #include <iostream> #include <Windows.h> using namespace std; int main(void) { char defaultPath\[MAX_PATH\]; GetModuleFileName(NULL, defaultPath, MAX_PATH); cout << defaultPath << endl; return 0; } 希望这些方法能够帮助到你获取C++ Windows当前路径。 #### 引用[.reference_title] - *1* *3* [C++ 获取当前程序路径](https://blog.csdn.net/jg_csdn/article/details/129436817)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【C++获取当前文件所在绝对路径 && GetCurrentDirectory()函数使用详解](https://blog.csdn.net/Miller_6/article/details/125804594)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值