MFC 获取当前工作路径和可执行文件路径

1.获取Debug或Release所在的路径

CString CIniDemoDlg::GetModuleDir()   
{     
    char pFileName[MAX_PATH];   
    GetModuleFileName(NULL, pFileName, MAX_PATH);   
   
    CString csFullPath(pFileName);   
    int nPos = csFullPath.ReverseFind( _T('\\') );   
    if( nPos < 0 )   
        return CString("");   
    else   
        return csFullPath.Left( nPos );   
} 

其中:MAX_PATH的定义在WINDEF.h中

运行结果为:

2. 获取当前工作路径(dsp所在路径)  

CString GetWorkDir()
{
    char pFileName[MAX_PATH];   
    int nPos = GetCurrentDirectory(MAX_PATH, pFileName);   
   
    CString csFullPath(pFileName);    
    if( nPos < 0 )   
        return CString("");   
    else   
        return csFullPath;   
}

运行结果为:

3.路径分解函数:

void CIniDemoDlg::OnSeperate() 
{
    // TODO: Add your control notification handler code here
    char   a_sFileName[256];     
    GetModuleFileName(NULL,a_sFileName,256);   
    CString sPath;  
  
    CString sDrive;//磁盘名  
    CString sDir;//文件路径  
    CString sFileName;//取出文件路径后的文件名  
    CString sExt;//文件扩展名  
  
    char drive[_MAX_DRIVE];//磁盘名  
    char dir[_MAX_DIR];//路径名  
    char fname[_MAX_FNAME];//文件名  
    char ext[_MAX_EXT];//扩展名  
  
    _splitpath(a_sFileName, drive, dir, fname, ext );  
  
    sDrive.Format("驱动%s\n",drive);  
    sDir.Format("目录%s\n",dir);  
    sFileName.Format("文件名%s\n",fname);  
    sExt.Format("扩展名%s\n",ext);  
  
    sPath= sDrive + sDir + sFileName + sExt;  
    MessageBox(sPath);
}

运行结果:

 参考:http://blog.csdn.net/xjujun/article/details/8054990

         http://www.cnblogs.com/luyuxibaby/p/5217339.html

转载于:https://www.cnblogs.com/hpcpp/p/6378919.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值