绝对路径转相对路径

绝对路径转相对路径

BOOL RelativePathTo(
Out_writes_z(MAX_PATH) char* pszPath,
In_z const char* pszFrom,
In DWORD dwAttrFrom,
In_z const char* pszTo,
In DWORD dwAttrTo)
参数 pszPath 为结果路径;pszFrom 为当前路径;dwAttrFrom 为当前路径的属性,文件或目录;pszTo 为需转换的绝对路径;dwAttrTo 为需转换路径的属性,文件或目录。
头文件 #include

void absolutionPathtoRelative(std::string filenames)
{
	char curPath[1024];
	_getcwd(curPath, 1024);//获取当前.exe所在路径
	DWORD curPathDWORD = GetFileAttributes(curPath);//获取指定路径属性
	if (!ATL::ATLPath::IsRelative(filenames.c_str())) 
	{
		char relativeFile[1024];
		DWORD fileDWORD = GetFileAttributes(filenames.c_str());
		ATL::ATLPath::RelativePathTo(relativeFile, curPath, curPathDWORD, filenames.c_str(), fileDWORD);
		filenames = relativeFile;
	}
}

你可能感兴趣的:(绝对路径转相对路径)