最速怪談選手権

お世話になります。
あるファイルを展開するソフト(作者は別の方(連絡不可能))に機能を追加したいのですが、条件分岐のコードの記述方法があまり理解できていないので、詳しく教えていただきたいです。

■ やりたいこと ※ fread関数やfseek関数などを使うのだろうという推測はしてます。
質問のタイトルの通りですが、詳しく書くと・・・
・33~42byte目の所の値がFFで埋められていたら、Xの処理を実行する。

//---------

if(/*条件分岐のコード*/){
printf("Xの処理中・・・\n");
// Xの処理コードを記述予定
}

//---------

■ 現在できていること
・ファイルポインタの宣言。
・ファイルをバイナリモードで開き、先頭64byteを読み込む。

初歩的な質問だと思うのですが、どうかよろしくお願い致します。

質問者からの補足コメント

  • うーん・・・

    そうなんですね。
    memcmp関数について他サイトも見てみましたが、これだ!というものが見つからず・・・
    バイナリの33byte目から比較したいので、memcmp関数での実装例(それ以外の関数でも)を書いてもらえたらうれしいです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/02/04 22:48

A 回答 (2件)

「ファイルをバイナリモードで開き、先頭64byteを読み込む。

」ことはできてるんだよね? だったら「33byte目」のアドレスもわかるはずだしそこから必要な分だけ比較することもできるはずだと思うんだけど, 具体的にはなにに困っている?
    • good
    • 0

その「比較」自体に fread も fseek も不要だけどね.



ふつうは memcmp かなぁ. じみちに 1バイトずつ比べてもいいけど.
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!