我目前正在尝试从文本文件中的偏移量读取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/