从Obj-C中的NSString对象生成C char数组

时间:2010-08-31 21:19:26

标签: objective-c xcode string nsstring

我想从Obj-C中的NSString对象创建一个C char数组。

我的字符串是:

NSString *string = [[NSString alloc] initWithContentsOfURL:url usedEncoding:nil error:nil];

有人可以给我发一份工作代码样本吗?

提前致谢,

Sagiftw

2 个答案:

答案 0 :(得分:7)

您可以使用UTF8String方法:

const char *str = [string UTF8String];

答案 1 :(得分:1)

NSData *data = [string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

void *bytes = [data bytes];

(信用:NSString - Unicode to ASCII equivalent

或者作为一行:

void *bytes = [[string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] bytes];