我有一个文件,它在数据的第一个字节中包含一个数字。在这种情况下,该数字是32.我使用十六进制编辑器确认(十六进制)值为“20”,等于十进制的32。
有人能指出我如何从文件中读取它的正确方向。我试过了6种不同的方法,但都失败了。
答案 0 :(得分:2)
很多不同的方式。这是一个:
NSData *data = [NSData dataWithContentsOfFile:filename];
if ([data length] > 0)
{
const uint8_t *bytes = (const uint8_t *)[data bytes];
uint8_t byte = bytes[0];
NSLog(@"%d", byte);
}
或其他:
NSInputStream *stream = [NSInputStream inputStreamWithFileAtPath:filename];
[stream open];
NSInteger bufferLen = 1;
uint8_t buffer[bufferLen];
NSInteger count = [stream read:buffer maxLength:bufferLen];
[stream close];
if (count > 0)
{
NSLog(@"%d", buffer[0]);
}