베트남쪽이랑 열심히 하다가 모두 이쪽으로 이관되었는데, 특정 메서드에서 값이 모두 0을 뱉어내길래 봤더니만…
저도 자바는 할 줄도 모르면서 하고 있습니다만…
다음 구문이 안된다는것쯤은 알고 있습니다.
System.arraycopy(_buff, 0, Bytes.toBytes(flag,Global.USE_BIGENDIAN), 0 , 4);
System.arraycopy(_buff, 4, Bytes.toBytes(StartPos.x,Global.USE_BIGENDIAN), 0 , 4);
System.arraycopy(_buff, 8, Bytes.toBytes(StartPos.y,Global.USE_BIGENDIAN), 0 , 4);
System.arraycopy(_buff, 12, Bytes.toBytes(EndPos.x,Global.USE_BIGENDIAN), 0 , 4);
System.arraycopy(_buff, 16, Bytes.toBytes(EndPos.y,Global.USE_BIGENDIAN), 0 , 4);
System.arraycopy(_buff, 20, Bytes.toBytes(ViaNum,Global.USE_BIGENDIAN), 0 , 4);
c의 strcpy나 memcpy는 다르게 이녀석은 src가 앞에가고 dst가 뒤에가잖습니까…
그런데, java는 잘 모르는제가 어쩌겠습니까… 한참 뒤져보고 다음으로 수정…
flag = Bytes.toInt(_buff[idx++], _buff[idx++], _buff[idx++], _buff[idx++], Global.USE_BIGENDIAN);
StartPos.x = Bytes.toInt(_buff[idx++], _buff[idx++], _buff[idx++], _buff[idx++], Global.USE_BIGENDIAN);
StartPos.y = Bytes.toInt(_buff[idx++], _buff[idx++], _buff[idx++], _buff[idx++], Global.USE_BIGENDIAN);
EndPos.x = Bytes.toInt(_buff[idx++], _buff[idx++], _buff[idx++], _buff[idx++], Global.USE_BIGENDIAN);
EndPos.y = Bytes.toInt(_buff[idx++], _buff[idx++], _buff[idx++], _buff[idx++], Global.USE_BIGENDIAN);
ViaNum = Bytes.toInt(_buff[idx++], _buff[idx++], _buff[idx++], _buff[idx++], Global.USE_BIGENDIAN);
되는구나…(Bytes클래스는 베트남에서 만들어서 보내준거입니다.)
ㅡㅡ; 음… 심오하구나… 프로그래밍이라는건…