【问题标题】:Conversion NSString to const char string[]将 NSString 转换为 const char string[]
【发布时间】:2015-05-27 04:31:20
【问题描述】:

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

NSString *string = @"do nothing";

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

const char inputString[] =  string;

Xcode 显示错误

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

是否有相同的解决方法。

提前致谢,

【问题讨论】:

    标签: ios objective-c arrays nsstring character


    【解决方案1】:

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

    const char *Cstr = myObjCStr.UTF8String;
    

    【讨论】:

      【解决方案2】:

      试试这个

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

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

      【讨论】:

        【解决方案3】:

        如果你对 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];
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-01-01
          • 1970-01-01
          • 2011-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多