char path[255] ;
_getcwd( path , 255 );

解决方案 »

  1.   

    CString  m_sExeFilePath;//程序目录,路径末尾包含了"\\"
    GetExePath()
    {
    try
    {
    char sAppPath[300];
    VERIFY(::GetModuleFileName(m_hInstance,sAppPath,sizeof(sAppPath))); m_sExeFilePath = CString(sAppPath);
    int nLength = m_sExeFilePath.GetLength();
    for(int i=1;i<=nLength;i++)
    {
    if(m_sExeFilePath.GetAt(nLength - i) == TCHAR('\\'))
    {
    m_sExeFilePath.Delete(nLength - i + 1, i - 1);
    break;

    }  
    }
    catch(...)
    {
    exit(0);
    }
    }
      

  2.   

    告诉你一个方法,是MS的,你先给你的程序添加 THE TIP OF DAY 然后会几个类,其中一个就是叫splitpath的类,很小,然后用法就是:
    const char *p = _pgmptr ;
    CSplitPath split (p) ;
    CString sPath ;
    sPath = split.getdrive() + CString(split.getdir());
      

  3.   

    splitpath.hclass CSplitPath
    {
      char drive[_MAX_DRIVE];
      char dir[_MAX_DIR];
      char fname[_MAX_FNAME];
      char ext[_MAX_EXT];public:
      CSplitPath (const char *path) ;
      CSplitPath () ;
      ~CSplitPath () ;
      
      const char *getdrive () ;
      const char *getdir () ;
      const char *getname () ;  
      const char *getextension () ;
      
      const char *getpath () ;
    } ;splitpath.cpp
                     
    #include "stdafx.h"                  
    #include <io.h>
    #include "splitpath.h"
    CSplitPath::CSplitPath (const char *path)
    {
      _splitpath( path, drive, dir, fname, ext );}CSplitPath::~CSplitPath ()
    {}const char *CSplitPath::getdrive()
    {
      return drive ;
    }
    const char *CSplitPath::getname()
    {
      return fname ;
    }
    const char *CSplitPath::getdir()
    {
      return dir ;
    }const char *CSplitPath::getextension()
    {
      return ext ;
    }
      

  4.   

    最简单的方法:GetCurrentDirectory(...)
      

  5.   

    GetCurrentDirectory()是获得当前目录。并不一定是程序所在目录