Получая ошибку при попытке использовать seekToFileOffset

В настоящее время я пытаюсь прочитать строку из 5 символов со смещением в моем текстовом файле. Я почти уверен, что все работает, однако, когда я печатаю содержимое моего буфера в журнал, он выводит это <7466315c 61>

- (void)fetchCode:(id)sender{
    NSData *databuffer;

    NSString *path = [[NSBundle mainBundle] pathForResource:@"nCode01" ofType:@"txt"];
    nCode = [NSFileHandle fileHandleForReadingAtPath:path];

    if (nCode == nil) {
        NSLog (@"Open of nCode for reading failed\n");
    }

    [nCode seekToFileOffset: 3];
    databuffer = [nCode readDataOfLength: 5];
    NSLog (@"Data = %@", databuffer);

     [nCode closeFile];
}

Я думаю, что это может быть ошибка форматирования, а не память, так как каждый раз, когда я запускаю метод, он печатает одно и то же <7466315c 61> Любое представление о том, что я пропускаю / делаю неправильно?

1 ответ

NSData печатает свои байты как шестнадцатеричные числа в группах по 4 байта. <7466315c 61> соответствует 5 символам "tf1\a". Вы можете использовать NSString initWithData:encoding: чтобы преобразовать его в NSString, если это необходимо, или вы можете получить доступ к NSData's bytes и интерпретировать их как (возможно, не завершенную) строку в стиле C.

Что именно вы ожидаете прочитать?

Другие вопросы по тегам