NSString to char my[16]



我的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];

相关内容

最新更新