StrNCatA 函数 (shlwapi.h)
将指定数量的字符从一个字符串的开头追加到另一个字符串的末尾。
语法
PSTR StrNCatA(
[in, out] PSTR psz1,
PCSTR psz2,
int cchMax
);
参数
[in, out] psz1
类型: PTSTR
指向以 null 结尾的字符串的指针,函数将 psz2 中的字符追加到该字符串。 它必须足够大,才能保存组合的字符串以及终止 null 字符。
psz2
类型: PCTSTR
指向要追加的以 null 结尾的字符串的指针。
cchMax
类型: int
要从 psz2 开头追加到 psz1 的字符数。
返回值
类型: PTSTR
返回指向 psz1 的指针,该指针保存组合的字符串。
注解
安全警告: 错误使用此函数可能会危及应用程序的安全性。 第一个参数 psz1 必须足够大才能容纳 psz2 和结束的“\0”,否则可能会出现缓冲区溢出。 如果发生访问冲突,缓冲区溢出可能会导致对应用程序的拒绝服务攻击。 在最坏的情况下,缓冲区溢出可能允许攻击者将可执行代码注入进程,尤其是在 psz1 是基于堆栈的缓冲区时。 请注意,最后一个参数 cchMax 是要复制到 psz1 中的字符数,不一定是 psz1 的大小(以字节为单位)。 请考虑使用以下替代方法之一。 StringCbCat、 StringCbCatEx、 StringCbCatN、 StringCbCatNEx、 StringCchCat、 StringCchCatEx、 StringCchCatN 或 StringCchCatNEx。 在继续之前,应查看 安全注意事项:Microsoft Windows Shell 。
注意
shlwapi.h 标头将 StrNCat 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (版本 4.71 或更高版本) |