0

我目前正在尝试从我的文本文件中的偏移量中读取一行 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>知道我错过了什么/做错了什么吗?

4

1 回答 1

1

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

你究竟希望读到什么?

于 2011-06-15T01:03:35.910 回答