Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS将IP地址转换为整数并向后转换_Ios_String - Fatal编程技术网

iOS将IP地址转换为整数并向后转换

iOS将IP地址转换为整数并向后转换,ios,string,Ios,String,说我有一根绳子 NSString*myIpAddress=@“192.168.1.1” 我想把它转换成一个整数增量,然后再转换回NSString 除了使用位掩码、移位和sprintf之外,iOS是否有一种简单的方法来实现这一点?类似的东西就是我在中所做的: NSArray*ipExplode=[string componentsSeparatedByString:@]; int seg1=[ipExplode[0]intValue]; int seg2=[ipExplode[1]intValue

说我有一根绳子 NSString*myIpAddress=@“192.168.1.1”

我想把它转换成一个整数增量,然后再转换回NSString


除了使用位掩码、移位和sprintf之外,iOS是否有一种简单的方法来实现这一点?

类似的东西就是我在中所做的:

NSArray*ipExplode=[string componentsSeparatedByString:@];
int seg1=[ipExplode[0]intValue];
int seg2=[ipExplode[1]intValue];
int seg3=[ipExplode[2]intValue];
int seg4=[ipExplode[3]intValue];
uint32_t newIP=0;
newIP |=(uint32_t)((seg1和0xFF)16)和0xFF),
((新IP>>8)和0xFF),
((newIP>>0)和0xFF)];

我就是这样做的:

NSArray*ipExplode=[string componentsSeparatedByString:@];
int seg1=[ipExplode[0]intValue];
int seg2=[ipExplode[1]intValue];
int seg3=[ipExplode[2]intValue];
int seg4=[ipExplode[3]intValue];
uint32_t newIP=0;
newIP |=(uint32_t)((seg1和0xFF)16)和0xFF),
((新IP>>8)和0xFF),
((newIP>>0)和0xFF)];

我认为您需要int seg1=[[ipExplode objectAtIndex:0]intValue];不是真的。这是使用文字语法。我认为您将需要int seg1=[[ipExplode objectAtIndex:0]intValue];不是真的。这是使用文字语法。
NSArray *ipExplode = [string componentsSeparatedByString:@"."];
int seg1 = [ipExplode[0] intValue];
int seg2 = [ipExplode[1] intValue];
int seg3 = [ipExplode[2] intValue];
int seg4 = [ipExplode[3] intValue];

uint32_t newIP = 0;
newIP |= (uint32_t)((seg1 & 0xFF) << 24);
newIP |= (uint32_t)((seg2 & 0xFF) << 16);
newIP |= (uint32_t)((seg3 & 0xFF) << 8);
newIP |= (uint32_t)((seg4 & 0xFF) << 0);

newIP++;
NSString *newIPStr = [NSString stringWithFormat:@"%u.%u.%u.%u", 
        ((newIP >> 24) & 0xFF), 
        ((newIP >> 16) & 0xFF), 
        ((newIP >> 8) & 0xFF), 
        ((newIP >> 0) & 0xFF)];