您的位置:程序门 -> vb -> 基础类



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb中定义变量的前缀szstr是什么意思[已结贴,结贴人:soulking]
发表于:2007-08-28 16:45:04 楼主
vb中定义变量的前缀szstr是什么意思
发表于:2007-08-28 16:46:341楼 得分:0
没任何意义-_-

发表于:2007-08-28 16:55:082楼 得分:0
那为什么要有这个前缀,能详细说一下啊吗?
发表于:2007-08-28 17:03:453楼 得分:0
你哪看的阿

这个不是关键字
前缀这个东西,不同公司有自己的规则

比如某个公司说了所有string类型的变量名都要加上str最为前缀
如此而已
发表于:2007-08-28 17:12:174楼 得分:0
szstr   通常用在   api   参数定义中,表示该字符串变量的值必须用字符   chr(0)   以符合   c   的标准(char*   以   "\0 "   作为字符串结束符)
发表于:2007-08-28 18:41:475楼 得分:0
谢谢楼上的能不能说的在清楚点,急用!!!谢谢。
发表于:2007-08-28 18:51:456楼 得分:0
...........路过....蹭分....
发表于:2007-08-29 08:42:477楼 得分:0
装个   api-guid,看看里面的例子
发表于:2007-08-29 08:57:518楼 得分:0
就是以 "\0 "结尾的字符串的意思
发表于:2007-08-29 09:15:089楼 得分:0
我来帮啰嗦两句。
在内存里,字符串变量,一般都存储在一个内存块内,当要读取某个字符串时,字符串指针就指向该字符串的首地址,那么就从首地址开始一个字节一个字节的往下读取,直到遇到 "\0 "时就停止,表明该字符串结束。 "\0 "是由一般是由编译软件自动添加的。
发表于:2007-08-29 09:26:2910楼 得分:10
mmyyxx88()   说的是   c   标准的   char*   概念。
而   vb   的   string   类型是用   com   的   bstr   标准,在字符指针指向的地址前的四个字节存放了字符串的字节个数,指针指向的地址开始向后存放字符串的内容。

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

不过大多数情况下将   char*   参数在   vb   中声明为   string   参数,vb   会自动进行相关的处理(除了结尾   "\0 ",还会进行   unicode/ansi   转换)。
发表于:2007-08-29 11:17:4111楼 得分:0
个人习惯爱好


快速检索

最新资讯
热门点击