将NSString转换为char数组

NNi*_*ikN 17 arrays objective-c char ios

const char arr[]="Hello There";
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个如上所述的字符数组.

下面是我使用的代码.这是创建char数组的正确方法吗?

-(void) createCharArray:(NSString*) text{
   char arr[text.length];
   for(int i=0;i<text.length;i++){
    arr[i]=[text characterAtIndex:i];
   }
}
Run Code Online (Sandbox Code Playgroud)

我们是否要担心空终止?我们还有其他方法可以实现同样的目标吗?

小智 34

你可以用UTF8String.例如:[myString UTF8String].

  • 所以使用char*c = [text UTF8String]; 您想要一个指向动态分配的字符缓冲区的指针,而不是静态创建的C字符串. (4认同)
  • 与C一样,"数组"是一个模糊的术语. (2认同)