| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3138 人关注过本帖
标题:关于VB定长字符串与变长字符串内存问题!
只看楼主 加入收藏
wj2sky
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:25
专家分:1
注 册:2007-8-27
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:2 
关于VB定长字符串与变长字符串内存问题!
Dim i As String * 255
    Dim j As String * 255
    i = "我爱你"
    j = "哈哈哈"
    CopyMemory ByVal StrPtr(i), ByVal StrPtr(j), 4
    MsgBox i

-----华丽的分割线-----

    Dim i As String '* 255
    Dim j As String '* 255
    i = "我爱你"
    j = "哈哈哈"
    CopyMemory ByVal StrPtr(i), ByVal StrPtr(j), 4
    MsgBox i

为什么第一个无法把字符串内容复制过去,而第二个就可以做到!

变长字符串和定长字符串,在内存中存在什么差异吗?

他们不都是指向字符串的起始地址?
搜索更多相关主题的帖子: 内存 字符 
2009-08-05 22:20
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:10 
CopyMemory 的声明4 ????不是6吗?
2009-08-05 23:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30047
注 册:2008-10-15
收藏
得分:10 
定长字符串,
是直接存储字符串,
也就是相当于指向一块内存.

变长字符串,存储的才是指针,
这个指针再指向一块内存.

你复制内容,对于定长字符串,你只能复制到这个字符串的内容,
对于变长字符串,可以复制到这个指针,然后通过其它方式访问这个指针.


收到的鲜花
  • multiple19022009-08-06 17:37 送鲜花  10朵   附言:我很赞同

授人于鱼,不如授人于渔
早已停用QQ了
2009-08-06 14:45
快速回复:关于VB定长字符串与变长字符串内存问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011094 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved