2012-03-06 99 views
3
char arr[] = "abcdefg"; 
// I know I can do this 
NSString *s = [[NSString alloc] initWithCString:arr encoding:NSUTF8StringEncoding]; 

如果我想将部分arr数组转换为NSString *?说cde,而不是整个字符串abcdefg?我如何实现这一目标?如何将char数组的一部分转换为NSString *?

+0

也许使用initWithUTF8String? – CodaFi 2012-03-06 05:48:06

回答

4
NSString *s = [[NSString alloc] initWithBytes:arr + 2 
    length:3 encoding:NSUTF8StringEncoding]; 
+0

谢谢@rob,它工作!但奇怪的是没有像'initWithBytes:(const char *)缓冲区索引这样的方法:(int)i length:(int)l encoding:(NSStringEncoding)e'。 – neevek 2012-03-06 06:06:13

+0

你可以随时写一个类别。 – DrummerB 2012-08-12 15:25:03