获取当前程序路径的方法C++和C#的做法
Posted 老虎中的小白Gentle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取当前程序路径的方法C++和C#的做法相关的知识,希望对你有一定的参考价值。
C#
方法一:
string exePath = System.AppDomain.CurrentDomain.BaseDirectory;
Console.WriteLine(string.Format("exePath:{0}", exePath));
运行的结果为
exePath:E:\\dingdingDownload\\DR2800_Print_TSN\\DR2800_Print_TSN\\bin\\Debug\\
方法二:
string path = System.IO.Directory.GetCurrentDirectory();
Console.WriteLine(string.Format("path:{0}", path));
运行的结果为:
path:E:\\dingdingDownload\\DR2800_Print_TSN\\DR2800_Print_TSN\\bin\\Debug
注意:方法一是最后带\\的,而方法而是不带的,它们都是运行程序.exe的绝对路径
C++
void CTestDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
CString strExePath{};
TCHAR szFilePath[MAX_PATH + 1]{};
GetModuleFileName(NULL, szFilePath, MAX_PATH); //包括exe的全路径
cout << "szFilePath :" << szFilePath << endl;
strExePath = szFilePath;
unsigned long Length = 0;
for (int i = 1; i <= strExePath.GetLength(); i++)
{
CString temp = strExePath.Right(i);
temp = temp.Left(1);
if (temp == _T("\\\\"))
{
Length = i;
break;
}
}
//除了exe的绝对路径
strExePath = strExePath.Left(strExePath.GetLength() - Length);
cout << "strExePath: " << strExePath << endl;
}
运行的结果:
以上是关于获取当前程序路径的方法C++和C#的做法的主要内容,如果未能解决你的问题,请参考以下文章