StrNCatA 函数 (shlwapi.h)

将指定数量的字符从一个字符串的开头追加到另一个字符串的末尾。

注意 请勿使用此函数或 StrCatN 宏。 有关备用函数,请参阅备注。
 

语法

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 的大小(以字节为单位)。 请考虑使用以下替代方法之一。 StringCbCatStringCbCatExStringCbCatNStringCbCatNExStringCchCatStringCchCatExStringCchCatNStringCchCatNEx。 在继续之前,应查看 安全注意事项: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 或更高版本)