PathAppendW 函数 (shlwapi.h)

将一个路径追加到另一个路径的末尾。

注意 滥用此函数可能会导致缓冲区溢出。 建议使用更安全的 PathCchAppendPathCchAppendEx 函数。
 

语法

BOOL PathAppendW(
  [in, out] LPWSTR  pszPath,
  [in]      LPCWSTR pszMore
);

参数

[in, out] pszPath

类型: LPTSTR

指向以 null 结尾的字符串的指针, pszMore 中指定的路径将追加到该字符串。 必须将此缓冲区的大小设置为MAX_PATH,以确保其大小足以容纳返回的字符串。

[in] pszMore

类型: LPCTSTR

指向包含要追加的路径的最大长度MAX_PATH以 null 结尾的字符串的指针。

返回值

类型: BOOL

如果成功,则返回 TRUE ,否则返回 FALSE

注解

如果不存在反斜杠,此函数会自动在两个字符串之间插入反斜杠。

pszPath 中提供的路径不能以“..用于生成相对路径字符串的 \“ 或 ”.\“ 。 如果存在,将从输出字符串中去除这些句点。 例如,将“path3”追加到“.”。\path1\path2“的输出为”\path1\path2\path3“,而不是”.”。\path1\path2\path3”。

示例


#include <windows.h>
#include <iostream>
#include "Shlwapi.h"

using namespace std;

int main( void )
{
	// String for path name.
	char buffer_1[MAX_PATH] = "name_1\\name_2";
	char *lpStr1;
	lpStr1 = buffer_1;

	// String of what is being added.
	char buffer_2[ ] = "name_3";
	char *lpStr2;
	lpStr2 = buffer_2;

	cout << "The original path string is    " << lpStr1 << endl;
	cout << "The part to append to end is   " << lpStr2 << endl;
	bool ret = PathAppend(lpStr1,lpStr2);
	cout << "The appended path string is    " << lpStr1 << endl;
}

OUTPUT:
--------- 
The original path string is    name_1\name_2
The part to append to end is   name_3
The appended path string is    name_1\name_2\name_3

注意

shlwapi.h 标头将 PathAppend 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (版本 4.71 或更高版本)