I would like to convert a int32_t
from host byte order to network byte order and vice versa. I know about the htonl()
function and its variants, but this takes unsigned integers. Is there a standard library function which can do the same with signed integers or do I have to implement it myself? And if I have to implement it myself, how should I do it?
I'm looking to find a routine that will work on Linux and Mac OS X.
It does not matter. htonl is concerned with bytes, not with arithmetical value of the number. Use reinterpret_cast to change the number to unsigned and back again, if you have to.