char tempbuf[100];
::GetCurrentDirectory (100,tempbuf);

解决方案 »

  1.   

    GetCurrentDirectory是不安全的。如果你在程序中改变了当前目录后(比如进行了目录历遍操作),再调用他时回得到奇怪的结果。建议用GetModuleFileName来获取程序的所在的路径。用它永远没错。
      

  2.   

    可通过分析CommandLine里传来的参数找到同时还可以找到其他的许多的环境变量.
      

  3.   

    TCHAR chPath[256];
    memset(chPath,0,256);
    GetModuleFileName(NULL,chPath,256);
    TCHAR *pos=strrchr(chPath,'\\');
    chPath[pos-chPath+1]=0;如果你的程序为c:\aaa\aaa.exe
    则chPath="c:\aaa\"
    关键字:GetModuleFileName
    具体使用方法见MSDN
      

  4.   

    int len=strlen(theApp.m_pszHelpFilePath);
    for(int i=len-1;i>0;i--)
    {
    if(theApp.m_pszHelpFilePath[i]=='\\')break;
    }
    strcpy(temp,theApp.m_pszHelpFilePath);
    temp[i+1]=0;