FAQ:WinAPI VCPP:получить короткое и длинное имя файла

Материал из Весельчак У

Перейти к: навигация, поиск

Как получить короткое и длинное имя файла?

Можно использовать функции API

// получить короткий путь
GetShortPathName(
LPCSTR lpszLongPath,
LPSTR lpszShortPath,
DWORD cchBuffer);

и

// получить полный путь
GetLongPathName(
LPCSTR lpszShortPath,
LPSTR lpszLongPath,
DWORD cchBuffer);

Например имеется путь к файлу:

D:\program files\Microsoft Office\OFFICE11\winword.exe

Функция GetShortPathName() поможет привести его к виду:

d:\PROGRA~1\MICROS~2\OFFICE11\WINWORD.EXE

А функция GetLongPathName() - наоборот.

Максимальная длина пути файла равна MAX_PATH (260) символам