тебе его вывести надо или что? просто непонятно что ты хочешь. что значит "придать вид"?
если преобразовать его в строку формата 0x... то можно так:
на си
C++:
Код:
#include
// ...
int
num
=
0x5500
;
char
buf
[
100
]
=
{
0
}
;
sprintf
(
buf
,
"0x%X"
,
num
)
;
на сиплюсплюс
C++:
[CODE]
#include
// ...
int
num
=
0x5500
;
std
::
ostringstream oss
;
oss
5500, затем это значение нужно сюда, чтобы такой вид имело
, либо же мне можно 5500 представить в виде хекс и перевести его, но это у меня не получается на этапе составления строки =((
Весь проект
C++:
Код:
#include
#include
#include
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID
)
{
HANDLE process
=
GetCurrentProcess
(
)
;
DWORD_PTR processAffinityMask
;
DWORD_PTR systemAffinityMask
;
if
(
!
GetProcessAffinityMask
(
process
,
&
processAffinityMask
,
&
systemAffinityMask
)
)
return
-
1
;
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
{
char
name
[
256
]
;
GetModuleFileNameA
(
hModule
,
name
,
256
)
;
std
::
regex
re
(
R"(.*\\.*-(\d+).+)"
,
std
::
regex
::
icase
)
;
std
::
cmatch m
;
std
::
regex_match
(
name
,
m
,
re
)
;
std
::
string s
=
"0x"
+
stoi
(
m
[
1
]
)
;
SetProcessAffinityMask
(
process
,
std
::
stoul
(
s
,
nullptr
,
16
)
)
;
}
else
if
(
dwReasonForCall
==
DLL_PROCESS_DETACH
)
{
SetProcessAffinityMask
(
process
,
systemAffinityMask
)
;
}
return
TRUE
;
}