Conversion NSString to const char string[]



我有一个与查询相关的转换我有一个NSString对象内容为

下面的字符串
NSString *string = @"do nothing";

现在我试图在下面的代码中传递字符串,如

const char inputString[] =  string;

Xcode显示错误

数组初始化项必须是初始化项列表或字符串字面值。

是否有相同的解决方法

提前致谢

最简单的方法是使用UTF-8转换(它取代了旧的和长期弃用的- (const char *)cString方法):

const char *Cstr = myObjCStr.UTF8String;

试试这个

NSString *string = @"do nothing";
const char * inputString = [string UTF8String];

如果您想使用其他编码,请使用此cStringUsingEncoding

如果你对const char * inputString这样的C数组不满意

那么你可以试试下面的代码-

NSMutableArray *array = [[NSMutableArray alloc] init];
NSString *str = @"do nothing";
for (int i = 0; i < [str length]; i++) {
    NSString *ch = [str substringWithRange:NSMakeRange(i, 1)];
    [array addObject:ch];
}

最新更新