例如,我想通过索引获取NSMutableData实例的值,我该怎么做?我这样做:
Byte *tempByte = (Byte*)malloc(1);
memcpy(tempByte, [[nsmutabledata subdataWithRange:NSMakeRange(5, 5)] bytes], 1) ;
但我认为这不是一个好方法。 更新: 我已经解决了这个问题。谢谢你...
答案 0 :(得分:0)
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
此代码将动态地将数组分配到正确的大小(完成后必须释放(byteData))并将字节复制到其中。
如果你想使用固定长度的数组,你也可以使用getBytes:len:如其他人所指示的那样。这样可以避免malloc / free,但是可扩展性较差,更容易出现缓冲区溢出问题,因此我很少使用它。