PathAppendA 函数 (shlwapi.h)
将一个路径追加到另一个路径的末尾。
注意 滥用此函数可能会导致缓冲区溢出。 建议使用更安全的 PathCchAppend 或 PathCchAppendEx 函数。
语法
BOOL PathAppendA(
[in, out] LPSTR pszPath,
[in] LPCSTR 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 或更高版本) |