如何在Objective-C中将IP地址从NSString
转换为unsigned int
?
NSString A = "192.168.43.149"
我尝试将其转换为 unsigned int
,如下所示:
unsigned int ip;
ip = (unsigned int)[A intValue];
或
sscanf([A UTF8String], "%u", &ip);
结果总是只显示 192
。
我希望它显示 0xc0a82b95
如何在Objective-C中将IP地址从NSString
转换为unsigned int
?
提前致谢。
对于 IPv4 地址,您可以使用 inet_aton()
,它将字符串转换为 Internet
地址:
#include <arpa/inet.h>
NSString *addrString = @"192.168.43.149";
struct in_addr addr;
if (inet_aton([addrString UTF8String], &addr) != 0) {
uint32_t ip = ntohl(addr.s_addr);
NSLog(@"%08x", ip);
} else {
NSLog(@"invalid address");
}
// Output: c0a82b95
关于ios - 如何在 Objective-C 中将 IP 地址从 NSString 转换为 unsigned int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26927759/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |