将 NSString 转换为 const char string[]

Conversion NSString to const char string[]

我有一个查询相关的转换 我有一个 NSString 对象,内容如下所示

NSString *string = @"do nothing";

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

const char inputString[] =  string;

Xcode 显示错误

Array initializer must be an initializer list or string literal.

是否有任何解决方法。

提前致谢,

试试这个

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

如果你想使用其他编码,使用这个cStringUsingEncoding

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

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

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];
}

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

const char *Cstr = myObjCStr.UTF8String;