C / C ++相当于java Integer.toHexString。
将一些代码从java移植到C / C ++,C在java中的Integer.toHexString中是否有内置函数?
更新:
Heres是我想要移植的确切代码:
String downsize = Integer.toHexString(decimal);
答案 0 :(得分:9)
使用<sstream>
标题:
std::string intToHexString(int i) {
std::stringstream ss;
ss << std::hex << std::showbase << i;
return ss.str();
}
答案 1 :(得分:5)
在C:
sprintf(s, "%x", value);
确保在s
有足够的空间来渲染十六进制数。保证64字节(因此)足够。
答案 2 :(得分:5)
C ++解决方案的Boost.Format怎么样:
(format("%X") % num).str()
答案 3 :(得分:3)
char s[1+2*sizeof x]; sprintf(s, "%x", x);
答案 4 :(得分:1)
#include <iostream>
#include <sstream>
std::stringstream ss(std::stringstream::out);
int i;
ss << std::hex << i << flush;
string converted = ss.str();
另请查看setw(需要#include <iomanip>
)
答案 5 :(得分:0)
itoa做你想要的(第三个param表示基础):
/* itoa example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i = 12;
char buffer [33];
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
return 0;
}