Строка c возвращается как указатель, а не как массив символов.Чтобы использовать его, вы можете изменить свою переменную на указатель.
const char *command = [theString cStringUsingEncoding:NSUTF8StringEncoding];
Поскольку вам нужна кодировка UTF8, вы можете использовать удобный метод UTF8String
.
const char *command = [theString UTF8String];
Если выЧтобы данные были сохранены в массиве символов, вы можете использовать метод getCString:maxLength:encoding:
, передавая массив в качестве буфера.Это позволит вам сохранить строку непосредственно в буфере и сообщит вам, если буфер слишком мал.
char command[512];
if(![theString getCString:command maxLength:sizeof(command)/sizeof(*command) encoding:NSUTF8StringEncoding]) {
NSLog(@"Command buffer too small");
}