我的nsstring喜欢:
NSString *str = @"225,0,190,169,236,236,113,97,43,102,217,8,113,201,50,45";
如何将其转换为char数组,如下所示:
char keyPtr[16] = {225,0,190,169,236,236,113,97,43,102,217,8,113,201,50,45}
任何人都可以帮忙!
谢谢
NSString *input = @"225,0,190,169,236,236,113,97,43,102,217,8,113,201,50,45";
char output[16];
NSArray *elements = [input componentsSeparatedByString:@","];
NSAssert([elements count] == 16, @"Input has wrong number of elements");
unsigned index = 0;
for (NSString *element in elements) {
int value = [element intValue];
NSAssert(value >= 0 && value <= 255, @"Element is invalid");
output[index++] = (char)value;
}
注意:您可能应该使用int[]
而不是char[]
,用于output
。
NSString *str = @"225,0,190,169,236,236,113,97,43,102,217,8,113,201,50,45";
NSArray *array = [str componentsSeparatedByString:@","];
然后将其用于循环中的A中,或将其添加到您的字符阵列中:
char* myLilChar = [[array objectAtIndex:i] UTF8String];
欢呼:)
如果您想如您所说的那样,请使用以下
NSString *str = @"225,0,190,169,236,236,113,97,43,102,217,8,113,201,50,45";
NSArray *array = [str componentsSeparatedByString:@","];
unsigned char keyPtr[array.count];
for(int i=0;i<array.count;i++)
keyPtr[i] = (unsigned char)[[array objectAtIndex:i] intValue];