2017-04-30 208 views
0

如何在C++中將十進制轉換爲十六進制?我已經與ultoa成功,但是這給你一個字符(和使用(DWORD)緩衝區以std :: cout只是以亂碼結束)。另外我需要再次將新的十六進制保存在DWORD中。C++ - DWORD十進制到DWORD十六進制

到目前爲止我的代碼:

//Vars 
char Buffer[33]; 

// Client.dll 
DWORD d_clientDll = (DWORD)GetModuleHandleA("client.dll"); 
_ultoa(d_clientDll, Buffer, 16); 
std::cout << Buffer << std::endl; 
std::cout << d_clientDll << std::endl; 
+0

@harold不是。 – Shuzuka

+0

@harold因爲我想將它保存到另一個DWORD中,所以在其他文章中不是這種情況。 – Shuzuka

+0

確定這很容易只保留舊的DWORD,將某些東西轉換爲字符串,然後再回到原點沒有意義 – harold

回答

1

你嘗試std::hex

std::cout << std::hex << d_clientDll << std::endl 
+0

令人驚訝的是,這突然發生了工作(之前使用std :: hex的方法,沒有工作)。你現在如何將它保存爲DWORD? (Offsets :: clientDll = std :: hex << d_clientDll; Do not't工作。) – Shuzuka