Просто любопытно, что такое термин (в Windows) для таких путей?
"\Users\Name\Desktop\1\dest dir1"
Я знаю, что это абсолютный путь, который относится к корню диска.
И второй вопрос, есть ли API, чтобы отличить его от «истинного» абсолютного пути? Путь как таковой:
"C:\Users\Name\Desktop\1\dest dir1"
PS. Я, очевидно, спрашиваю в целом, а не только в отношении этого образца пути.
Итак, судя по тому, что я видел до сих пор, это должно быть так (при отсутствии WinAPI), верно?
BOOL IsAbsoluteToDrivePath(LPCTSTR pszPath)
{
//Checks if the path is absolute to drive
//RETURN:
// = TRUE if yes, it is an absolute to the drive path
BOOL bRes = FALSE;
if(pszPath &&
pszPath[0])
{
//Check first char to be a slash
//INFO: Proved experimentally that / and \ may be treated equally...
if(pszPath[0] == L'\\' ||
pszPath[0] == L'/')
{
//Do we have a 2nd char?
if(pszPath[1])
{
//Second char should not be a slash
if(pszPath[1] != L'\\' &&
pszPath[1] != L'/')
{
//Not a slash, then it's an absolute path
bRes = TRUE;
}
}
else
{
//This is a root path (i.e. "\")
bRes = TRUE;
}
}
}
return bRes;
}
ты не прав,
в windows абсолютный путь всегда начинается с буквы диска или имени сервера
в то время как относительный путь — это путь, который происходит от текущего местоположения, с которым вы работаете, и начинается с «\» или без него.
если вы используете свой «абсолютный путь», он будет искать «\ Users \ Name \ Desktop \ 1 \ dest dir1» в вашем рабочем каталоге
также :
Определить, является ли путь абсолютным или относительным
PathIsRelative