文字列定数のキャストについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
もじゃっと
記事: 4
登録日時: 5年前

文字列定数のキャストについて

#1

投稿記事 by もじゃっと » 5年前

現在Windowsの実行ファイルをバイナリとして読み込む部分があるプログラムを作っています。
その過程で、シグネチャの"MZ"や"PE\0\0"を確認する必要があるのですが、以下のようなコードだと
'reinterpret_cast': 'const char [3]' から 'WORD *' に変換できません。
となりコンパイルに失敗します。

コード:

//WORD sigにチェックしたい値が入っています。
if(sig != *reinterpret_cast<WORD*>("MZ")){
	//エラー処理
}
どうしたら良いのか調べてもいい答えが見つからなかったため、質問することにしました。
アドバイスよろしくお願いします。

かずま

Re: 文字列定数のキャストについて

#2

投稿記事 by かずま » 5年前

もじゃっと さんが書きました:
5年前
'reinterpret_cast': 'const char [3]' から 'WORD *' に変換できません。
となりコンパイルに失敗します。
const WORD * に変換してください。

もじゃっと
記事: 4
登録日時: 5年前

Re: 文字列定数のキャストについて

#3

投稿記事 by もじゃっと » 5年前

無事コンパイル通りました、ありがとうございました。

返信

“C言語何でも質問掲示板” へ戻る