我有类似的东西:
NSString *str = "hello this is 123.";
我希望它被放入一个char数组中,所以我可以逐字逐句地阅读它。
所以它会像:
charArray[0] = 'h'
charArray[1] = 'e'
charArray[2] = 'l'
依旧......
如何将字符串转换为char数组?如何读取char数组的每个单元格?
答案 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消息来访问给定的字符并迭代字符串。