在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径:
//////////////////////////////////////////////////////////////////////////////
////////获得当前路径/////////////////////////
//////////////////////////////////////////////////////////////////////////////
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();