首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb中定义变量的前缀szstr是什么意思解决办法

2012-01-05 
vb中定义变量的前缀szstr是什么意思vb中定义变量的前缀szstr是什么意思[解决办法]mmyyxx88() 说的是 C 标

vb中定义变量的前缀szstr是什么意思
vb中定义变量的前缀szstr是什么意思

[解决办法]
mmyyxx88() 说的是 C 标准的 char* 概念。
而 VB 的 String 类型是用 COM 的 BStr 标准,在字符指针指向的地址前的四个字节存放了字符串的字节个数,指针指向的地址开始向后存放字符串的内容。

这样将 BStr 传递给使用 char* 的函数会导致由于没有结尾的 "\0 " 而导致操作超过字符串合法内容的地址而导致各种问题,所以通常在 BStr 后面添加一个 Chr(0) 后传递给函数,为了与一般的 str 变量区别而用了 szstr。

不过大多数情况下将 char* 参数在 VB 中声明为 String 参数,VB 会自动进行相关的处理(除了结尾 "\0 ",还会进行 Unicode/Ansi 转换)。

热点排行