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
标头 pathcch.h
Library Pathcch.lib