我目前正在尝试从文本文件中的偏移量中读取一行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];
}
我认为这可能是一种格式错误,而不是内存,因为每次运行该方法时,它都会打印相同的&lt; 7466315c 61&gt; 了解我错过/做错了什么?< / p>
答案 0 :(得分:1)
NSData将其字节打印为十六进制数,以4个字节为一组。 <7466315c 61>
对应于5个字符“tf1 \ a”。如果需要,您可以使用NSString的initWithData:encoding:
将其转换为NSString,或者您可以访问NSData的bytes
并将它们解释为(可能未终止的)C风格的字符串。
你期待读到什么?