プロが教える店舗&オフィスのセキュリティ対策術

------------------------------------
Visual Studio 2008 pro
VC++
------------------------------------

基本的な質問で申し訳ないのですが、memcmp()などでバイナリデータとの比較方法について教えてください。

例えばバイナリファイルを開き、その先頭から10バイト分が特定のバイトコードであるかを調べ用とした場合、fread()で10バイト分読み込んだバッファーをmemcmpで比較すればよろしいのでしょうか?
また、その際に比較対象のバイトコードはどのように指定したらよいのでしょうか?
---------------------------------
例:比較対象のバイトコードが0xFFFFFFFFFFFFFFFFFFFFの場合
fread( szBuffer, 1, 10, fp );
memcmp( szBuffer, ???, 10 );
---------------------------------

A 回答 (1件)

もちろん「先頭から 10バイト読み込み memcmp で比較」すれば OK です.


比較対象は「10バイト (以上) の大きさを持つオブジェクト」になります. (unsigned) char の配列とするのが普通かな.
例えば
unsigned char bytecode[] = { 0xff, 0xff, ..., 0xff }; に対して
memcmp(szBuffer, bytecode, 10);
みたいな感じですね.
    • good
    • 0
この回答へのお礼

>>Tacosan様
御回答ありがとうございました。
無事希望する処理を実装することができました。

お礼日時:2009/05/22 13:10

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