有一个类型为
buffer:array[1..5200] of char
现在我先在这个buff中填入了2000个字节.用什么方法可以一次性取出这2000个数据

解决方案 »

  1.   

    先定义一个字符串变量,
    字符串变量=buffer
    这样就可以了。
      

  2.   

    如果字符串不能取的话,可以做个循环。
    for i=1 to 200 then
     显示buffer[i],
    这样不行吗?
      

  3.   

    有没有别的办法,循环太占CPU时间了.再说数据量也挺大的
      

  4.   

    我用API写程序,当用REC接收数据时,有于网络的不稳定,经常出现5K的数据包要分好几次才能收到.所以当从BUFF中的数据小于5K时,我就要取出实际得的数据量,比如1K先存起来.
    我的问题就是如何从5K大小的数据里,取得前面的1K.当然上面所说的循环是没有问题的.但最好是有什么系统函数.请各抒己见!
      

  5.   

    var buffer:array[1..5200] of char;
       a:string;
    begin
       a:=string(buffer);//强制转换,string的下标是从1开始的
       showmessage(a);
    end;
      

  6.   

    不行的,string类型是以NULL结束的.而我的CHAR中有各种类型的数据.不可以用这咱方式.最好的就昌上面的MOVE了
      

  7.   

    一群笨蛋。var
      p: pchar;getmem(p, 2000);
    strcopy(p, buf);