BSTR 字符串

C-Style 字符串

C程序语言本身原并不支援字串数据结构。字符串通常以一个字符数组(或称阵列)或一个指向字符资料的指标指标来表达。由于C语言的数组不包含其长度的资讯,故亦无法表示所载之字符串之长度。C语言社群对此通用之解决方案为于字符串末端增添一数值0的字符。C语言的标准程序库中的字符串处理功能亦以此为基础。C-Style 字符串特点为不直接包含长度资讯。要取得字符串之长度,就必须从头到尾数算字符数目,直到遇到字符0为止。由于不设长度资讯,故C-style 字符串的长度理论上可以无上限。

[编辑] Pascal-style 字符串

Pascal程序语言采取另一种方向处理字符串。在储存字串的记忆空间的开首,储存一固定长度整数以表达其长度。如此Pascal-style 字符串不需要在最后增添额外字符以标明其结束。但由于字符串开首储存字串长度的空间有限,故Pascal-style 的字串长度有上限。但在获得字串长度方面有速度优势。

[编辑] BSTR 字符串

BSTR 字符串结合了C-style 字符串和Pascal-style字符串。它在开首储存了字符串长度,在字符串结尾以字符0识别。和pascal-style 字符串不同,指向BSTR字符串的指标指向第一个字符,而非开首的字串长度。故此适用于读取C-style 字符串的程序库同样适用于BSTR字符串(但写入则另作别论)。如果获得其长度,则以其指标地址减去字符串长度数值所需空间,以获得其字串长度之地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值