我目前正在尝试从文本文件中的偏移量读取5个字符的行。
我相当确定一切正常,但是当我将缓冲区的内容打印到日志时,它会输出此

- (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];
}


我认为这可能是格式错误,而不是内存,因为每次我运行该方法时,它都会打印出相同的,我对所缺少/做错的任何想法?

最佳答案

NSData将其字节打印为十六进制数字,以4个字节为一组。 <7466315c 61>对应于5个字符“ tf1 \ a”。如有必要,您可以使用NSString的initWithData:encoding:将其转换为NSString,或者可以访问NSData的bytes并将其解释为(可能未终止)C样式的字符串。

您究竟希望阅读什么?

关于iphone - 尝试使用seekToFileOffset时出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6351851/

10-13 09:52