C / C ++相当于java Integer.toHexString

时间:2010-06-26 06:17:59

标签: java c++ c integer porting

C / C ++相当于java Integer.toHexString。

将一些代码从java移植到C / C ++,C在java中的Integer.toHexString中是否有内置函数?

更新:

Heres是我想要移植的确切代码:

String downsize = Integer.toHexString(decimal);

6 个答案:

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