0

16進バイトのファイルがあります。NSData を使用してこのファイルを読み取り、NSdata を int に変換します。今、ファイルの最初のバイトを他の値に置き換えたいと思います。例: int に変換するときの最初のバイトは 49 です。それを 48 に変更してから、ファイルに置き換えます。どうやってやるの?これは私のコードです:

NSData *data = [NSData dataWithContentsOfFile:@"file"];
    NSLog(@"Patch File: %@",data);
    NSData *theData = [NSData dataWithData:[data subdataWithRange:NSMakeRange(0,1)]];
    int value = *(int*)([theData bytes]);
     NSLog(@"%d",value);
    if( value == 49)
        value = 48;
     NSLog(@"%d",value);

上記のコードを実行すると、次のように表示されます。

<31414142 42434344 44454546 4654502d 4c494e4b 2d544553 54000000 00000000 00000000>

最初のバイトを 0x02 に置き換えたい。どうやってやるの?どうもありがとう

4

2 に答える 2