相对路径,绝对路径,当前路径,程序目录

时间:2022-11-02 18:43:06
1.路径

绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe

另外,还有一种不包含盘符的特殊绝对路径,形如
\windows\system32\cmd.exe
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。

2.获取程序所在路径

#include  <direct.h>
#include <windows.h>
#include  <stdio.h>

int _tmain(int argc, _TCHAR* argv[])
{
	//获取当前目录
	//#include  <direct.h>
	char   buffer[256]; 
	getcwd(buffer, 256); 
	printf( ":%s\n",   buffer); 
	
	// 获取程序目录(exe全路径)
	//#include <windows.h>
	char workDir[256];
	HMODULE hdll = NULL;
	::GetModuleFileName(hdll, workDir, _MAX_PATH);
	//int len = (int)strlen(workDir);
	//for(int i=len; i>=0; i--)
	//{
	//	if( workDir[i] != '\\' ) workDir[i] = 0;
	//	else
	//	{
	//		workDir[i] = 0;
	//		break;
	//	}
	//}
	printf( ":%s\n",workDir); 

	system("pause");

	return 0;
}


。。

相对路径,绝对路径,当前路径,程序目录相对路径,绝对路径,当前路径,程序目录