科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道获取可执行文件的当前路径

获取可执行文件的当前路径

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

不温故照样能知心~~~

作者:ghost 来源:CSDN 2007年9月24日

关键字: ghost 可执行文件 路径

  • 评论
  • 分享微博
  • 分享邮件

今天用C++写程序,需要读取与程序处于相同目录下的ini的配置文件,由于很久没有用C++了,感觉有些陌生,也忘记寻找路径的方法了。以前的代码也懒得看,所以就在网上搜索,搜到了能实现相关功能的 函数:GetCurrentDirectory(MAX_PATH,strPath.GetBuffer(MAX_PATH))  获得的是应用程序运行时所在目录。但由于在使用Microsoft Visual Studio.NET编译并运行项目时,真正的宿主是IDE,所以当前目录是项目所在目录,并不是DEBUG或者RELEASE目录

还有一个函数叫GetCurrWorkingDir() 我用的是VS2005,不能通过编译,说是什么使用的是早期版本的API函数,反正是通不过编译,这个函数我也就放弃使用了。于是还是只有自己动手了。似乎记得theApp有个属性存储了本实例的路径,但半天未果。最后还是用的GetModuleFileName这个函数获取绝对路径,并采用拆分字符串的方法,具体实现如下:

CString GetCurrDir()
{
 TCHAR szPath[MAX_PATH];
    if( !GetModuleFileName( NULL, szPath, MAX_PATH ) )
    {
        MessageBox(_T("GetModuleFileName failed!") + GetLastError());
        return FALSE;
    }
 CString strPath = szPath;
 int index = strPath.ReverseFind('\\');
 strPath.Truncate(index);
 return strPath; //后面读取配置文件还要加上字符串\\文件名.ini
}



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1737191

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章