[英]How to convert char that represents hex value to DWORD?
我有一個方法WriteValue
將DWORD
值寫入注冊表:
const char *WriteValue(char* searchHandleId)
{
//...
DWORD value = atoi(searchHandleId); // wrong!!!
LONG result_write = RegSetValueEx(
hkey,
"hwnd_to_track",
0,
REG_DWORD,
(const BYTE*)&value,
sizeof(value)
);
//..
}
問題是searchHandleId
代表一個十六進制數:
printf( "Found .... hWnd: (%s)\n", searchHandleId);
輸出: Found .... hWnd: (002F1CE0)
如何將searchHandleId
轉換為value
(以我的情況為DWORD值)?
DWORD value = strtoul(searchHandleId, NULL, 16);
sscanf(searchHandleId, "%x", &value);
可能會幫助您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.