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

unrknight 2003-05-10 05:15:21
字符串中要有内容。内容是什么没关系。
...全文
192 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧