PathAppendW 函数 (shlwapi.h)
将一个路径追加到另一个路径的末尾。
注意 滥用此函数可能会导致缓冲区溢出。 建议在其位置使用更安全的 PathCchAppend 或 PathCchAppendEx 函数。
语法
BOOL PathAppendW(
[in, out] LPWSTR pszPath,
[in] LPCWSTR pszMore
);
参数
[in, out] pszPath
类型:LPTSTR
指向 pszMore 中指定的路径的以 null 结尾的字符串的指针。 必须将此缓冲区的大小设置为MAX_PATH,以确保它足够大,可以容纳返回的字符串。
[in] pszMore
类型:LPCTSTR
指向长度为 null 的字符串的指针,该字符串的最大长度MAX_PATH,其中包含要追加的路径。
返回值
类型: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 Professional、Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | shlwapi.h |
库 | Shlwapi.lib |
DLL | Shlwapi.dll(版本 4.71 或更高版本) |