2016-05-05 10 views
0

私が抱えている問題は、「アドレス値:」セクションにあります。 基本的に、私がbyteSizeを4(int)にしないと、アドレス値として-858993409が返されます。 0x242E1698の4バイトはFF 00 00 00です。もしbyteSizeを4にすると255に出力されます。 1バイトだけを読み出すことによって255を出力する方法はありますか?(C++)ReadProcessMemory - 1バイトの読み込みの問題

int byteSize = 1;  
if (!ReadProcessMemory(hProcess, (void *)0x242E1698, (void *)&healthVar, byteSize, NULL)) 
    cout << "Failed to read " << windowName << "'s memory!\n\n"; 
else 
{ 
    cout << "Address value: " << healthVar << "\n\n"; 
} 
+1

'healthVar'はどのように定義されていますか? – 4386427

+0

あなたは何をしたいですか?私はそれが "1バイトを読み取って255を出力する"とは思わない –

答えて

0

あなたは1バイトのみを読めば、あなたは1バイトの整数にそれを読んでする必要があります。

uint8_t healthVar; 

次に、あなたがそこにあなたの値(255)を読んでたら、あなたはそれを、この印刷することができます方法:C++で1バイトの整数ではなく文字として印刷されますので、

cout << unsigned(healthVar) << endl; 

注あなたは、単にhealthVarを印刷することはできません。

関連する問題