有关CopyMemory的一些问题,byte array到String的转换(100分)

  • 主题发起人 主题发起人 dyroro
  • 开始时间 开始时间
D

dyroro

Unregistered / Unconfirmed
GUEST, unregistred user!
我想使用CopyMemory进行byte array到String的转换,但是,运行的时候一直出错,请指教<br>我的byte array是动态数组,进行数据接收完后转换到string,长度是可以获取的<br>var<br>&nbsp; buf:array of byte;<br>&nbsp; vstr:String;<br>&nbsp; len:Integer;<br>begin<br>.<br>.<br>&nbsp; setLength(vstr,len);<br>copymemory(@vstr,@buf,len);<br><br>运行时候报错,显示内存操作的错误。
 
copymemory(@vstr[1],@buf[0],len);<br>
 
是什么原因呢?
 
不过,还是不行哦。。。
 
如果大家认为这个转换的方法不好,能给出更好的转换方法也可以啊。
 
copymemory(pointer(vstr),buf,len);
 
呵呵,,各位给出的还是不行哦,,运行出错。。。
 
怎么会不行?以字符数组为例<br>var<br>&nbsp;buf:array of char; &nbsp; <br>&nbsp;vstr:String;<br>&nbsp;i,len:Integer;<br>begin<br>&nbsp;len:=10;<br>&nbsp;setlength(buf,len);<br>&nbsp;for i:=low(buf) to high(buf) do<br>&nbsp; &nbsp; &nbsp;buf:='A';<br>&nbsp;setLength(vstr,len);<br>&nbsp;copymemory(@vstr[1],@buf[0],len);<br>&nbsp;showmessage(vstr);<br>end;<br>
 
非常感谢,我再试试。
 
非常感谢。。。。。。。。。。。
 
后退
顶部