Поделиться через


Функция PathCchRemoveFileSpec (pathcch.h)

Удаляет последний элемент в строке пути, независимо от того, является ли этот элемент именем файла или каталогом. Обратная косая черта элемента в начале также удаляется.

Эта функция отличается от PathRemoveFileSpec тем, что принимает пути с префиксами "\", "\?" и "\?\UNC".

ПримечаниеЭту функцию следует использовать вместо PathRemoveFileSpec , чтобы предотвратить переполнение буфера.

Синтаксис

WINPATHCCHAPI HRESULT PathCchRemoveFileSpec(
  [in, out] PWSTR  pszPath,
  [in]      size_t cchPath
);

Параметры

[in, out] pszPath

Указатель на полную строку пути. При успешном возвращении этой функции в строке будет удален последний элемент и обратная косая черта. Эта функция не влияет на корневые пути, такие как "C:". В случае корневого пути строка пути возвращается неотправленной. Если строка пути заканчивается обратной косой чертой, удаляется только эта обратная косая черта.

[in] cchPath

Размер буфера, на который указывает pszPath, в символах.

Возвращаемое значение

Эта функция возвращает S_OK , если функция была успешной, S_FALSE , если удалить нечего, или код ошибки в противном случае.

Комментарии

В следующей таблице показано влияние этой функции на выбор строк пути.

Исходная строка Возвращаемая строка
"C:\path1" "C:\"
"C:\path1\path2" "C:\path1"
"C:\path1\" "C:\path1"
"\\path1\path2\path3" "\\path1\path2"
"\path1" "\"

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header pathcch.h
Библиотека Pathcch.lib