将NSString转换为const char string []

时间:2015-05-27 04:31:21

标签: ios objective-c arrays nsstring character

我有一个与查询相关的转换 我有一个NSString对象,其内容有一些字符串,如下面的

const char inputString[] =  string;

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

unsigned char topState = 1, leftState = 1, rightState = 1, fwdState = 1, bwdState = 1;

Xcode显示错误

  

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

是否有相同的解决方法。

提前致谢,

3 个答案:

答案 0 :(得分:2)

最简单的方法是使用UTF-8转换(替换旧的和已弃用的- (const char *)cString方法):

const char *Cstr = myObjCStr.UTF8String;

答案 1 :(得分:0)

试试这个

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

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

答案 2 :(得分:0)

如果您不满意像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];
}