我正在寻找一种从二进制文件中获取int值的方法。所以,让我说我有这个文件“myfile.dat”,从我的电脑里我存储了很多东西...... 现在我需要从我的iPhone中读取该文件并显示数据......
在“myfile.dat”上我有这个(二进制文件,所有的int都是小端): 0-12:签名字符串 13-16:一个int数(注意长度= 4)
所以使用NSData我知道我可以读取从pos 13到pos 16并获得那些字节...我可以正确获得第一个0-12字符串,但我无法读取pos 13-16并将其转换为int值在Obj-C ....;(
我有类似的东西:
unsigned char bytes[length];
[_data getBytes:bytes range:NSMakeRange(offset, length)];
int32_t elem = OSReadLittleInt32(bytes, 0);
现在,对于Obj-C和C / C ++,我是一个新手...我一生都在使用C#(悲伤)......
有人可以帮忙吗?提前致谢!
答案 0 :(得分:4)
尝试一下:
unsigned long bytes;
[_data getBytes: &bytes length: sizeof(unsigned long)];
NSLog(@"%i", NSSwapLittleLongToHost(bytes));