как динамически дать значение буфера в Objective-C - PullRequest
0 голосов
/ 20 апреля 2010

У меня есть строка, например:

NSString *str = @"12,20,40,320,480"

Эта строка должна быть задана как значение буфера,

UInt8 *buffer;

Теперь, как передать str в качестве значения буфера? Значение строки str постоянно меняется, поэтому буфер должен динамически принимать значение как str каждый раз. Пожалуйста, помогите мне, как этого добиться.

Спасибо.

1 Ответ

0 голосов
/ 20 апреля 2010

Ваш вопрос довольно неясен, но если вы хотите создать массив из UInt8 из строки NSString, в котором хранится список чисел, разделенных запятыми, вам нужно проанализировать строку по отдельным числам, а затем преобразовать строковое представление каждого числа в представление UInt8

Что-то вроде, но с дополнительным кодом для проверки ввода NSString:

NSString *str = @"12,20,40,320,480";

NSArray * str_a = [str componentsSeparatedByString:@","];
UInt8 * buf = malloc(sizeof(UInt8) * [str_a count]);

int i;
for(i=0;i<[str_a count];i++)
    buf[i] = atoi([[str_a objectAtIndex:i] cStringUsingEncoding:NSASCIIStringEncoding]);

// do something with the buffer
somefunction(buf);

// free the buffer
free(buf);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...