casting a char to an int, weird result

Newbie Member
25Jul2006,17:48   #1
rabidusv's Avatar
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?
Go4Expert Founder
25Jul2006,22:03   #2
shabbir's Avatar
Can you post the code here so that we can look into it.

Thanks
Shabbir.
Newbie Member
25Jul2006,22:05   #3
rabidusv's Avatar
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!!
Go4Expert Founder
25Jul2006,22:06   #4
shabbir's Avatar
My pleasure.
Light Poster
27Jul2006,10:09   #5
goldnlink's Avatar
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