函数功能:
StringCchLength 函数用于确定字符串是否超过了规定的长度,以字符为计算单位。
微软推荐使用该函数替代以下函数:
- strlen, wcslen, _tcslen
API 函数原型:
HRESULT StringCchLength( _In_ LPCTSTR psz, _In_ size_t cchMax, _Out_ size_t *pcch );
参数解析:
|
参数 |
含义 |
|
psz |
指向待检查的字符串 |
|
cchMax |
1. psz 参数里最大允许的字符数量,包括'\0' |
|
pcch |
1. psz 参数指向字符串的字符个数,不包括'\0' |
返回值:
这个函数返回一个 HRESULT,而不是指定字符串的字符个数。我们强烈建议您使用 SUCCEEDED 和 FAILED 宏来测试这个函数的返回值。
返回值可以是以下任意一个值:
|
返回代码 |
描述 |
|
S_OK |
psz 指向的字符串不为空,且字符串的长度(包括'\0')小于等于 cchMax |
|
STRSAFE_E_INVALID_PARAMETER |
1. psz 指向空字符串 |
备注:
1. 对比 StringCchLength 所替代的函数,StringCchLength 是可以使你的代码正确处理缓存区的一个附加功能。因为小的缓冲处理会牵连很多安全问题,例如缓存区溢出
2. 使用 StringCchLength 函数需要添加头文件:strsafe.h




