没有合适的资源?快使用搜索试试~ 我知道了~
常见的VC获取字符串长度的方法[定义].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 136 浏览量
2021-10-12
04:01:55
上传
评论
收藏 152KB PDF 举报
温馨提示
试读
3页
常见的VC获取字符串长度的方法[定义].pdf
资源推荐
资源详情
资源评论
常见的 VC获取字符串长度的方法
字符串的长度通常是指字符串中包含字符的数目, 但有的时候人们需要的是字符串所占字节
的数目。常见的获取字符串长度的方法包括如下几种。后面有源码和最终效果图
1.使用 sizeof 获取字符串长度
sizeof 的含义很明确,它用以获取字符数组的字节数(当然包括结束符 0)。对于 ANSI字符
串和 UNICODE字符串,形式如下:
sizeof(cs)/sizeof(char) sizeof(ws)/sizeof(wchar_t) 可以采用类似的方式,获取到其字符的数
目。如果遇到 MBCS,如 "中文 ABC",很显然,这种办法就无法奏效了,因为 sizeof()并不知
道哪个 char 是半个字符。
2.使用 strlen() 获取字符串长度
strlen() 及 wcslen() 是标准 C++定义的函数, 它们分别获取 ASCII字符串及宽字符串的长度, 如:
size_t strlen( const char *string ); size_t wcslen( const wchar_t *string ); strlen() 与 wcslen()采取
0 作为字符串的结束符,并返回不包括 0 在内的字符数目。
3.使用 CString::GetLength()获取字符串长度
CStringT继承于 CSimpleStringT 类,该类具有函数:
int GetLength( ) const throw( ); GetLength() 返回字符而非字节的数目。比如: CStringW 中, "
中文 ABC"的 GetLength()会返回 5,而非 10。那么对于 MBCS呢?同样,它也只能将一个字
节当做一个字符, CStringA表示的 "中文 ABC"的 GetLength()则会返回 7。
4.使用 std::string::size()获取字符串长度
basic_string 同样具有获取大小的函数:
size_type length( ) const; size_type size( ) const; length()和 size()的功能完全一样, 它们仅仅返
回字符而非字节的个数。如果遇到 MCBS,它的表现和 CStringA::GetLength()一样。
5.使用 _bstr_t::length() 获取字符串长度
_bstr_t 类的 length() 方法也许是获取字符数目的最佳方案,严格意义来讲, _bstr_t 还称不上
一个完善的字符串类, 它主要提供了对 BSTR类型的封装, 基本上没几个字符串操作的函数。
不过, _bstr_t 提供了 length() 函数:
unsigned int length ( ) const throw( ); 该函数返回字符的数目。 值得称道的是, 对于 MBCS 字
符串,它会返回真正的字符数目。
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功