文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在MFC中获取当前程序所在目录

在MFC中获取当前程序所在目录

时间:2010-06-06  来源:frostmourn716

欢迎访问我的新博客(troychengspace, http://troychengspace.appspot.com/)

当程序需要访问一些文件的时候,通常或从程序所在的目录开始找,那么如何获取程序的当前目录就成了一个问题,另外,由于VS2005中默认使用unicode的模式,使得字符串类型很让人头疼,种类繁多的类型让人防不胜防,真不知道MFC的设计者是如何设计字符串类型的,实在是不好用,建议在开发的时候都使用CString,少用char*。ok,获取当前路径的函数如下,返回类型是CString,可以根据需要转换为不同的类型:

//获取程序所在目录
CString SmartGestureDlg::SGGetModulePath()
{
  TCHAR sgCurPath[MAX_PATH];
   ZeroMemory(sgCurPath, sizeof(sgCurPath));
    GetModuleFileName(NULL,sgCurPath,sizeof(sgCurPath)/sizeof(TCHAR));
   CString sgModulePath = sgCurPath;
    return sgModulePath.Left(sgModulePath.ReverseFind('\\'));
}

另外,给出从CString到char*的转换函数,方便使用char*的用户:

void SmartGestureDlg::CStringtoCharPointer(CString& src, char* dest, int dest_length)
{
       int len = src.GetLength();
   if (len <= dest_length)
   {
            memset(dest,0,dest_length);
          USES_CONVERSION;
             strcpy((LPSTR)dest,OLE2A(src.LockBuffer()));
 }
}

使用示例:

CString sgSavePath;
sgSavePath.Format(_T("%s%s"),SGGetModulePath(),_T("\\plugins\\SmartGesture"));
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载