ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   int в формат hex (https://forum.antichat.xyz/showthread.php?t=1433090)

ччбчлчлчъ ччччшчьпьппзвжв 15.05.2022 22:31

Как придать инту формат hex, т.е. есть 5500 число и нужно сделать чтобы оно имело вид 0x5500

https://forum.antichat.xyz/attachments/28041305/

sc6ut 15.05.2022 22:48

тебе его вывести надо или что? просто непонятно что ты хочешь. что значит "придать вид"?

если преобразовать его в строку формата 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


ччбчлчлчъ ччччшчьпьппзвжв 15.05.2022 22:57

[QUOTE="sc6ut"]

тебе его вывести надо или что? просто непонятно что ты хочешь. что значит "придать вид"?
если преобразовать его в строку формата 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

https://forum.antichat.xyz/attachments/28041330/
5500, затем это значение нужно сюда, чтобы такой вид имело
https://forum.antichat.xyz/attachments/28041330/
, либо же мне можно 5500 представить в виде хекс и перевести его, но это у меня не получается на этапе составления строки =((
https://forum.antichat.xyz/attachments/28041330/

Весь проект

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
;
}


sc6ut 15.05.2022 23:18

C++:





Код:

#include
// ...
std
::
string s_num
=
"5500"
;
int
num
=
std
::
stoi
(
s_num
,
nullptr
,
16
)
;
// num = 0x5500



Время: 01:44