需要一个长度为100k的字符串,请问怎么定义。

unrknight 2003-05-10 05:15:21
字符串中要有内容。内容是什么没关系。
...全文
72 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Seiya_ 2003-05-15
dim a as string
a=space(102400) '这样会分配100k个空格
a=string(102400,"a") '这样会分配100k个a

谢楼上的楼上~
我也正找呢~
回复
unrknight 2003-05-11
感谢bdhh,这个真的是救命的啊
回复
胖河马 2003-05-11
搂主要调api吧,用space就可以了
dim a as string
a=space(102400) '这样会分配100k个空格
a=string(102400,"a") '这样会分配100k个a

回复
unrknight 2003-05-10
帮我看看错在哪里,好吗
=============================



Private Declare Sub CopyMemoryH2S Lib "kernel32" Alias _
"RtlMoveMemory" (ByVal dst As String, ByVal _
src As Long, ByVal SIZE As Long)
Private Declare Sub CopyMemoryS2H Lib "kernel32" Alias _
"RtlMoveMemory" (ByVal dst As Long, ByVal src _
As String, ByVal SIZE As Long)

Private Declare Function GlobalAlloc Lib "kernel32" (ByVal _
wFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem _
As Long) As Long

Const GMEM_FIXED = &H0

Private Sub Command1_Click()
Dim mHandle As Long
Dim bstr As String * 256

astr = Left$(Text1.Text, 255)
'分配一个300字节的内存块
mHandle = GlobalAlloc(GMEM_FIXED, 102401)
'将内存块的内容拷贝到字符串中
CopyMemoryH2S bstr, mHandle, 102400
GlobalFree mHandle
End Sub
回复
unrknight 2003-05-10
不定长String在没有赋值时,长度为0,我怎么让她到达100k啊,不会用for循环把。

还有,GlobalAlloc分配内存的时候会自己初始化吗?如果是的话,她是怎么样初始化的
回复
unrknight 2003-05-10
我本来是想用GlobalAlloc来申请一个空间的,但是,不知道怎么用,这个函数能支持这么大的空间吗?
回复
lile 2003-05-10
我查阅了以下MSDN,vb支持最多63k的定长字符串,但可支持2M长的动态字符串。只有用数组方法定义定长的100k的字符串。
回复
vbangle 2003-05-10
数组成不?
回复
unrknight 2003-05-10
这样不行的吧,定长string有大小限制啊
回复
smalle 2003-05-10
dim a as string*100000
回复
发帖
VB基础类
创建于2007-09-28

7489

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2003-05-10 05:15
社区公告
暂无公告