String 将字符串写入/读取到字节
这是我的代码:String 将字符串写入/读取到字节,string,vb6,byte,copymemory,String,Vb6,Byte,Copymemory,这是我的代码: Public Sub WriteString(ByRef nString As String) Dim sBytes() As Byte Dim sLength As Long sLength = Len(nString) sBytes = StrConv(nString, vbFromUnicode) WriteLong sLength If sLength <= 0 Then Exit Sub If WriteHead + sLength - 1 > B
Public Sub WriteString(ByRef nString As String)
Dim sBytes() As Byte
Dim sLength As Long
sLength = Len(nString)
sBytes = StrConv(nString, vbFromUnicode)
WriteLong sLength
If sLength <= 0 Then Exit Sub
If WriteHead + sLength - 1 > BufferSize Then Allocate sLength
CopyMemory buffer(WriteHead), sBytes(0), sLength
WriteHead = WriteHead + sLength
End Sub
Public Function ReadString(Optional MoveReadHead As Boolean = True) As String
Dim sLength As Long
Dim sBytes() As Byte
sLength = ReadLong(False)
If sLength <= 0 Then
If MoveReadHead Then ReadHead = ReadHead + 4
Exit Function
End If
ReDim sBytes(sLength - 1)
CopyMemory sBytes(0), buffer(ReadHead + 4), sLength
ReadString = StrConv(sBytes, vbUnicode)
If MoveReadHead Then ReadHead = ReadHead + sLength + 4
Exit Function
End Function
Public Sub-WriteString(ByRef nString作为字符串)
Dim sBytes()作为字节
变暗长度等于长
SLENGHT=Len(nString)
sBytes=StrConv(nString,vbFromUnicode)
写长长度
如果是SLENGHT BufferSize,则分配SLENGHT
CopyMemory缓冲区(写头),字节(0),长度
写头=写头+长度
端接头
公共函数ReadString(可选MoveReadHead为Boolean=True)为String
变暗长度等于长
Dim sBytes()作为字节
sLength=ReadLong(假)
如果是sLength,“我的应用程序崩溃”到底是什么意思?您的代码有两个对CopyMenory
的调用-哪一个“崩溃”?当您单步执行导致该调用的代码时,调试器会告诉您什么?调用时传递给CopyMemory
的变量包含什么?什么是WriteHead
和ReadHead
?你从哪里得到无处不在的神奇数字4
?你的CopyMemory
声明是什么样子的?