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 バイトのグループで 16 進数として出力します。<7466315c 61>「tf1\a」の5文字に相当します。必要に応じて、NSString を使用initWithData:encoding:して NSString に変換するか、NSData にアクセスしbytesて (おそらく終了していない) C スタイルの文字列として解釈することができます。

あなたは正確に何を読むことを期待していますか?

于 2011-06-15T01:03:35.910 に答える