Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Java & C++ pro question

 
Gregory Garrison
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can anyone tell me how to equate a C/C++ struct formed message in java, eg,
C/C++ (excuse my C/C++ lingo)
struct {
char parm1,
char parm2,
int parm3 }

I need to send the equivalent message in Java over a socket connection.
Thanks.
 
Carl Trusiak
Sheriff
Posts: 3341
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need to determine the data size that is being used for char and int in the C/C++ version you are using. Then it's simply a matter of casting your java types to the right size and placing them into a byte array to be sent over the socket.
From C the compiler I used in the past, char had a size of 8 bits and int had a size of 16 bits. This will give you an array of 4 bytes so you can use something like this to send a, b, 256.
char a = 'a';
char b = 'b';
int c = 256;
byte b[] = new byte[4];
b[0] = (byte)a;
b[1] = (byte)b;
b[2] = (byte)(c >> 8);
b[3] = (byte)c;
Send the byte array b and your there.
 
Gregory Garrison
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Carl - thanks so much!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic