使用 C 字符串
要将 NSString
转换为 const char
,请使用 -[NSString UTF8String]
:
NSString *myNSString = @"Some string";
const char *cString = [myNSString UTF8String];
如果你的字符串使用 UTF-8 以外的其他字符串编码,你也可以使用 -[NSString cStringUsingEncoding:]
。
对于反向路径使用 -[NSString stringWithUTF8String:]
:
const *char cString = "Some string";
NSString *myNSString = [NSString stringWithUTF8String:cString];
myNSString = @(cString); // Equivalent to the above.
一旦你拥有了 const char *
,你可以使用类似于 chars
的数组:
printf("%c\n", cString[5]);
如果要修改字符串,请复制:
char *cpy = calloc(strlen(cString)+1, 1);
strncpy(cpy, cString, strlen(cString));
// Do stuff with cpy
free(cpy);