I have a variable of type char[]
and I want to copy NSString
value in it. How can I convert an NSString
to a char array?
I have a variable of type char[]
and I want to copy NSString
value in it. How can I convert an NSString
to a char array?
NSString *s = @"Some string";
const char *c = [s UTF8String];
You could also use -[NSString cStringUsingEncoding:]
if your string is encoded with something other than UTF-8.
Once you have the const char *
, you can work with it similarly to an array of chars
:
printf("%c
", c[5]);
If you want to modify the string, make a copy:
char *cpy = calloc([s length]+1, 1);
strncpy(cpy, c, [s length]);
// Do stuff with cpy
free(cpy);