0
所以基本上我想用特定的地址初始化in_addr_t並從文本中解析它毫無意義。人們很容易做這樣的事情:在沒有文本解析的情況下初始化in_addr_t
in_addr_t foo = network_byte_order(127 << 24 | 0 << 16 | 0 << 8 | 99 << 0};
對於127.0.0.99,然後在宏包裝它,所以它的工作原理方便任何地址...不過我首先要檢查是否有人知道這方面的任何現有的宏,最好是「官方」?
你應該投<<可uint32_t的,以避免溢出,即#定義IPADDR(A,B,C,d)(((uint32_t的)一<< 24)的左操作數|((uint32_t的)b << 16 )|((uint32_t)c << 8)|((uint32_t)d << 0)) – 2012-08-10 21:06:27
使用char [4]和uint32的聯合? – Gir 2012-08-10 21:07:46
@Gir那是不確定的行爲我相信 – 2012-08-10 21:08:28