现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

VC获取当前路径

2012-07-08 22:51 工业·编程 ⁄ 共 908字 ⁄ 字号 暂无评论

在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径:

//////////////////////////////////////////////////////////////////////////////
////////获得当前路径/////////////////////////
//////////////////////////////////////////////////////////////////////////////
static CString GetAppPath(BOOL IsDLL , HINSTANCE instance , BOOL IsFullPathName )
{
TCHAR sFilename[_MAX_PATH];
TCHAR sDrive[_MAX_DRIVE];
TCHAR sDir[_MAX_DIR];
TCHAR sFname[_MAX_FNAME];
TCHAR sExt[_MAX_EXT];
if(IsDLL)
  GetModuleFileName(instance, sFilename, _MAX_PATH);
else
  GetModuleFileName(AfxGetInstanceHandle(), sFilename, _MAX_PATH);
if(IsFullPathName)
  return sFilename;
_tsplitpath(sFilename, sDrive, sDir, sFname, sExt);
CString rVal(CString(sDrive) + CString(sDir));
int nLen = rVal.GetLength();
if (rVal.GetAt(nLen-1) != _T('//'))
  rVal += _T("//");
return rVal;
}

主要是使用GetModuleFileName函数来实现的

函数声明如下:

static CString GetAppPath(BOOL IsDLL = FALSE, HINSTANCE instance = NULL, BOOL IsFullPathName = FALSE) ;

调用的时候这样写就可以了:

GetAppPath();

给我留言

留言无头像?