Void MakePacket(char* buff, int buff_size, const char* a_string)
{
int len = 0;
memset(buff, 0, buff_size);
     strcpy(&buff[2], a_string);
     /* 将包的前后置包的长度(不包含长度本身) */
     len = strlen(a_string);
     buff[0] = buff[len + 2] = len % 256; /* 低位在前 */
     buff[1] = buff[len + 3] = len / 256; /* 高位在后 */ 
}谁帮忙用java实现上面这个函数?

解决方案 »

  1.   

    void MakePacket(char[] buff, int buff_size, char[] a_string) 

      int len = 0; 
      Arrays.fill(buff, 0);
      System.arraycopy(a_string, 0, buff, 2, a_string.length);
      /* 将包的前后置包的长度(不包含长度本身) */ 
      len = a_string.length; 
      buff[0] = buff[len + 2] = len % 256; /* 低位在前,应该用len & 0xff */ 
      buff[1] = buff[len + 3] = len / 256; /* 高位在后,应该用len >> 8 */ 
      

  2.   

    什么意思啊 ?? len = strlen(a_string); 
        buff[0] = buff[len + 2] = len % 256; /* 低位在前 */ 
        buff[1] = buff[len + 3] = len / 256; /* 高位在后 */ 
    } 这句话是什么意思啊!!