获取当前程序路径的方法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#的做法_第1张图片

你可能感兴趣的:(C++,C#,c#)