字符串到char数组

时间:2011-10-17 06:04:18

标签: objective-c arrays string char

我有类似的东西:

NSString *str = "hello this is 123.";

我希望它被放入一个char数组中,所以我可以逐字逐句地阅读它。

所以它会像:

charArray[0] = 'h'
charArray[1] = 'e'
charArray[2] = 'l'

依旧......

如何将字符串转换为char数组?如何读取char数组的每个单元格?

3 个答案:

答案 0 :(得分:4)

尝试这样的事情,并注意它是一个大写字母C,它真的让我特殊的角色。

NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < [string length]; i++) {
    [array addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
}

答案 1 :(得分:3)

NSString *s = @"hello this is 123.";
const char *c = [s UTF8String];

如果您的字符串使用UTF-8以外的其他字符串编码,您也可以使用 - [NSString cStringUsingEncoding:]。

答案 2 :(得分:1)

Nsstring可能包含utf 8或utf 16字符,这些字符无法容纳在char中,因此访问底层char数组可能是个坏主意。

如果你不能使用characterAtIndex消息来访问给定的字符并迭代字符串。