如何在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 ?
提前致谢。
Best Answer-推荐答案 strong>
对于 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/
|