StringCchCat

This function is a replacement for strcat.

这个函数是strcat 的替代品。

The size, in characters, of the destination buffer is provided to the function to ensure thatStringCchCat does not write past the end of this buffer.

目标缓冲区的大小,字符用来提供该函数保证StrCchCat不会溢出缓冲区。

HRESULT StringCchCat(      
    LPTSTR pszDest,
    size_t cchDest,
    LPCTSTR pszSrc
);
Parameters
pszDest

[in, out] Pointer to a buffer containing the string that pszSrc is concatenated to, and which contains the entire resultant string.

指向一个缓冲区,其中包含该字符串pszSrc,其中包含整个结果字符串

The string  at pszSrc is added to the end of the string at pszDest.

             字符串 pszSrc被连接到pszDest的结尾。
cchDest
[in] Size of the destination buffer, in characters.

This value must equal the length of pszSrc plus the length of pszDest plus 1 to account for both strings and the terminating null character.

The maximum number of characters allowed is STRSAFE_MAX_CCH.

             目标缓冲区的大小,字符,。

             此值必须等于长度pszSrc加上长度pszDest加1考虑两个字符串和终止空字符。

             允许的最大字符数是STRSAFE_MAX_CCH。


pszSrc
[in] Pointer to a buffer containing the source string that is concatenated to the end of pszDest.

This source string must be null-terminated.

             指向一个缓冲区,其中包含源字符串被连接到目标字符串 pszDest 的结尾。

             这个源字符串必须是以null(\0)结尾。


Return Value

This function returns an HRESULT, as opposed to strcat, which returns a pointer.

It is strongly recommended that you use the SUCCEEDED and FAILED macros to test the return value of this function.

ValueDescription
S_OKSource data was present, the strings were fully concatenated without truncation, and the resultant destination buffer is null-terminated.
STRSAFE_E_INVALID_PARAMETERThe value in cchDest is 0 or larger than STRSAFE_MAX_CCH, or the destination buffer is already full.
STRSAFE_E_INSUFFICIENT_BUFFERThe concatenation operation failed due to insufficient buffer space.

The destination buffer contains a truncated, null-terminated version of the intended result.

Where truncation is acceptable, this is not necessarily a failure condition.

Remarks

StringCchCat provides additional processing for proper buffer handling in your code.

Poor buffer handling is implicated in many security issues that involve buffer overruns.StringCchCat always null-terminates a nonzero-length destination buffer.

StringCchCat can be used in its generic form, or specifically asStringCchCatA (for ANSI strings) or StringCchCatW (for Unicode strings). The form to use is determined by your data.

String data typeString literalFunction
char"string"StringCchCatA
TCHARTEXT("string")StringCchCat
WCHARL"string"StringCchCatW

StringCchCat and its ANSI and Unicode variants are replacements for these functions:

Behavior is undefined if the strings pointed to by pszSrc and pszDest overlap.

Neither pszSrc nor pszDest should be NULL. See StringCchCatEx if you require the handling of null string pointer values.

Requirements

OS Versions: Windows CE 5.0 and later.
Header: strsafe.h.
Link Library: strsafe.lib.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值