如何把IP地址的最后一位加1
我有个ip地址: 192.168.1.100 ;
char ip[16]=“192.168.1.100”;
我想把最后一位加1 变成 192.168.1.101;
请问在代码中怎么实现?
------解决方案--------------------字节序问题
ipp += 0x01000000
------解决方案--------------------网络字节序是big endian,intel处理器是little endian,所以192.168.1.100 inet_addr后在处理器看来 就是0x6401A8C0,正好是倒过来的
比较正规的做法是你在ipp+=1之前先调用uint32_t ntohl(uint32_t netlong)把网络字节序转化成主机字节序,在ipp+=1之后调用inet_ntoa之前,再调用uint32_t htonl(uint32_t hostlong)把主机字节序转成网络字节序
这样就无所谓任何处理器都不会出错了