如何在目标c中动态创建无符号字符类型数组
Posted
技术标签:
【中文标题】如何在目标c中动态创建无符号字符类型数组【英文标题】:how to create unsigned char type array dynamically in objective c 【发布时间】:2011-09-16 10:15:56 【问题描述】:我想根据另一个 nsmutablearray 的值在目标 c 中创建一个无符号字符数组, 请帮帮我
unsigned char buffer2[24];
buffer2[0] = 0X55; buffer2[1]=0x66; buffer2[2]=0x77; buffer2[3]=0x88; buffer2[4]=0x44;//print command
buffer2[5] = 0X1D; buffer2[6]=0x6B; buffer2[7]=02; buffer2[8]=0x0D;
buffer2[9] = 0X35; buffer2[10]=0x30; buffer2[11]=0x30; buffer2[12]=0x30; buffer2[13]=0x33;
buffer2[14] = 0X35; buffer2[15]=0x37; buffer2[16]=0x37; buffer2[17]=0x30; buffer2[18]=0x33;
buffer2[19] = 0X30; buffer2[20]=0x31; buffer2[21]=0x38; buffer2[22]=0x37; buffer2[23]=0x30;
我想动态传递这个数组的值。
提前致谢。 希瓦姆
【问题讨论】:
如果@Nekto 提供的答案不是您想要的,请让您的问题更清楚。 【参考方案1】:你可以使用C的malloc
或calloc
函数:
int count = 24;
unsigned char *buffer = (unsigned char *)calloc(count, sizeof(unsigned char));
使用后别忘了释放它:
free(buffer);
简单示例:
NSMutableArray *array;
unsigned char *buffer = (unsigned char *)calloc([array count], sizeof(unsigned char));
for (int i=0; i<[array count]; i++)
buffer[i] = [[array objectAtIndex:i] unsignedCharValue];
// use array
free(buffer);
【讨论】:
以上是关于如何在目标c中动态创建无符号字符类型数组的主要内容,如果未能解决你的问题,请参考以下文章