• 获得当前程序路径


    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);

  • 相关阅读:
    Libevent库学习笔记
    最大的k个数问题
    MongoDB之整库备份还原单表collection备份还原
    精通MATLAB混合编程
    AutoCAD 2016中文版从入门到精通(第2版)
    MATLAB科学计算范例实战速查宝典
    Android系统应用开发实战详解
    AutoCAD快捷命令速查大全
    TCP IP入门经典(第5版)
    STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用
  • 原文地址:https://www.cnblogs.com/lxshanye/p/3088607.html
Copyright © 2020-2023  润新知