casting a char to an int, weird result

rabidusv's Avatar, Join Date: Jul 2006
Newbie Member
I'm receiving data from a socket into a char[] and am casting each member of the array to an int. Some of the char's when casted into an int yield the character '-' I'm not sure what to make of this, has anyone ever experienced or heard of anything like this?
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Can you post the code here so that we can look into it.

Thanks
Shabbir.
0
rabidusv's Avatar, Join Date: Jul 2006
Newbie Member
Actually I figured it out a couple minutes ago. It was because the array of characters was signed, changed it to an unsigned char array and that solved it. Thanks for the quick reply!!
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
My pleasure.
0
goldnlink's Avatar, Join Date: Jul 2006
Light Poster
Hi rabidusv,
I would just add that in order to conver a char into an int, you'll have to use the function atoi.
Example:
int number;
char character = '1';
number = atoi(&character);

You could now use this function to extend it to convert a full string (char*) into a number.
Pay attention when converting like you are doing. Remember that '0' has the value 48, not 0. However, atoi(&char) if char = '0' is 0.
regards
goldnlink