对于控制台程序的话,可以通过获取main函数中的argv参数的第一个元素获取到当前程序执行路径,如:
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
std::cout << "app path:" << argv[0] << std::endl;
return 0;
}
输出:
对于gui的程序的话,可以采用windows下的api函数:GetModuleFileNameA函数获取程序执行路径,如:文章来源:https://www.toymoban.com/news/detail-660226.html
#include <iostream>
#include <windows.h>
std::string getAppPath()
{
char szPath[256] = { 0 };
int nSize = GetModuleFileNameA(NULL, szPath, sizeof(szPath));
if (nSize <= 0)
{
return "";
}
return szPath;
}
int main(int argc, char** argv)
{
//std::cout << "app path:" << argv[0] << std::endl;
std::cout << "app path:" << getAppPath() << std::endl;
return 0;
}
输出:
文章来源地址https://www.toymoban.com/news/detail-660226.html
到了这里,关于C++ - 获取程序路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!