(原创)VC++ MFC获取程序当前运行目录
就是当前EXE运行的目录
CSTRING版
CString GetModuleDir()
{
HMODULE module = GetModuleHandle(0);
char pFileName[MAX_PATH];
GetModuleFileNameA(module, pFileName, MAX_PATH);
CString csFullPath(pFileName);
int nPos = csFullPath.ReverseFind( _T('\\') );
if( nPos < 0 )
return CString("");
else
return csFullPath.Left( nPos );
}
String版
std::string GetModuleDir()
{
HMODULE module = GetModuleHandle(0);
char pFileName[MAX_PATH];
GetModuleFileNameA(module, pFileName, MAX_PATH);
string strFullPath(pFileName);
string::size_type nPos=strFullPath.find_last_of("\\");
string strfolderPath=strFullPath.substr(0,nPos);
return strfolderPath;
}
建议如果程序不需要MFC支持的话就用STRING版就可以了,生成的文件体积减少几倍
VC++MFC获取程序运行目录

本文介绍如何使用VC++MFC或标准C++字符串方法来获取当前EXE文件的运行目录。提供了两种实现方式:一种是使用MFC的CString,另一种是使用标准C++的string。后者在不依赖MFC的情况下,可以显著减小生成文件的体积。
1811

被折叠的 条评论
为什么被折叠?



