怎样获取当前目录及其上一级目录?在线等

时间:2023-01-21 12:02:52
在VC中怎么样获得当前目录和其上一级目录,函数的具体参数及头文件(如果有),详细点,谢谢!

4 个解决方案

#1


CString GetInstallPath()
{
CHAR szFilePath[MAX_PATH]={0};
GetModuleFileName(NULL,szFilePath,MAX_PATH);
int iLastBias =0;
int i =0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//当前目录
i = 0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//上一级目录
CString strFilePath = szFilePath;
return strFilePath;
}

#2


Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。
Example:

           TCHAR exeFullPath[MAX_PATH];
           GetModuleFileName(NULL,exeFullPath,MAX_PATH);

获得当前路径后,再解析得到上一级目录

#3


TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);   // EXE 文件名
*_tcsrchr(exeFullPath,'\\') = 0;                // 去掉文件名
CString strExePath = exeFullPath;               // EXE 所在的路径
*_tcsrchr(exeFullPath,'\\') = 0;                // 再去掉一段
CString strParentPath = exeFullPath;               // EXE 所在的路径的父文件夹

#4


当前目录+_T("..\\");就是上一级了.

#1


CString GetInstallPath()
{
CHAR szFilePath[MAX_PATH]={0};
GetModuleFileName(NULL,szFilePath,MAX_PATH);
int iLastBias =0;
int i =0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//当前目录
i = 0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//上一级目录
CString strFilePath = szFilePath;
return strFilePath;
}

#2


Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。
Example:

           TCHAR exeFullPath[MAX_PATH];
           GetModuleFileName(NULL,exeFullPath,MAX_PATH);

获得当前路径后,再解析得到上一级目录

#3


TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);   // EXE 文件名
*_tcsrchr(exeFullPath,'\\') = 0;                // 去掉文件名
CString strExePath = exeFullPath;               // EXE 所在的路径
*_tcsrchr(exeFullPath,'\\') = 0;                // 再去掉一段
CString strParentPath = exeFullPath;               // EXE 所在的路径的父文件夹

#4


当前目录+_T("..\\");就是上一级了.