鱼C论坛

 找回密码
 立即注册
查看: 13076|回复: 3

[API档案] StringCchLength

[复制链接]
发表于 2014-7-19 20:34:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
函数功能:

StringCchLength 函数用于确定字符串是否超过了规定的长度,以字符为计算单位。

微软推荐使用该函数替代以下函数:

  • strlen, wcslen, _tcslen


API 函数原型:
HRESULT StringCchLength(
  _In_   LPCTSTR psz,
  _In_   size_t cchMax,
  _Out_  size_t *pcch
);

参数解析:

参数 含义
psz 指向待检查的字符串
cchMax 1. psz 参数里最大允许的字符数量,包括'\0'
2. 这个数不能超过 STRSAFE_MAX_CCH
pcch 1. psz 参数指向字符串的字符个数,不包括'\0'
2. 这个值只有在 psz 指针不为 NULL,且函数成功时有效


返回值:

这个函数返回一个 HRESULT,而不是指定字符串的字符个数。我们强烈建议您使用 SUCCEEDEDFAILED 宏来测试这个函数的返回值。

返回值可以是以下任意一个值:

返回代码 描述
S_OK psz 指向的字符串不为空,且字符串的长度(包括'\0')小于等于 cchMax
STRSAFE_E_INVALID_PARAMETER 1. psz 指向空字符串
2. cchMax 的值大于STRSAFE_MAX_CCH
3. psz 指向的字符串的字符个数超过 cchMax


备注:

1. 对比 StringCchLength 所替代的函数,StringCchLength 是可以使你的代码正确处理缓存区的一个附加功能。因为小的缓冲处理会牵连很多安全问题,例如缓存区溢出

2. 使用 StringCchLength 函数需要添加头文件:strsafe.h

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-3-4 15:47:40 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-2 23:10:08 | 显示全部楼层
:sweat:不会用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-18 15:00:37 | 显示全部楼层
好i东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 00:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表