获得当前程序路径

1.返回当前程序文件全文件名

char pBuf[MAX_PATH];//存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf);//获取程序的当前目录
strcat(pBuf,"\\");
strcat(pBuf,AfxGetApp()->m_pszExeName);

strcat(pBuf,".exe");//获取程序全文件名
CString filename;
filename = pBuf;//char*转换为CString如此简单
AfxMessageBox(filename);

2.方法2:

char path[MAX_PATH];   //MAX_PATH在API中定义为260

GetModuleFileName(NULL,path,MAX_PATH);

CString str=path;

AfxMessageBox(str);

3.方法3

CString str = _pgmptr;

AfxMessageBox(str);

//_pgmptr为char*类型,系统定义好的。

扩展:

char drive[_MAX_DRIVE];

char dir[_MAX_DIR];

char fname[_MAX_FNAME];

char ext[_MAX_EXT];

_splitpath(_pgmptr, drive, dir, fname, ext ); // _splitpath对_pgmptr分割

CString str;

str += drive;

str += dir;

str += fname;

str += ext;

AfxMessageBox(str);

4.方法4

CString str = GetCommandLine();

AfxMessageBox(str);

5.方法5

CString   path=__argv[0];//取得路径  

AfxMessageBox(path);

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果要获得当前程序目录

char f_path[100];

GetCurrentDirectory(100,f_path);

AfxMessageBox(f_path);

方法2:

char drive[_MAX_DRIVE];

char dir[_MAX_DIR];

char fname[_MAX_FNAME];

char ext[_MAX_EXT];

// _makepath( _pgmptr, "c", "\\sample\\crt\\", "makepath", "c" );  //可以自己创建一个路径

_splitpath( _pgmptr, drive, dir, fname, ext );

_makepath( _pgmptr, drive, dir, NULL, NULL );

MessageBox(_pgmptr);

或者将最后两句改为:

CString str = “”;

str = str + drive + dir;

MessageBox(str);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值