我的问题是我将如何转换类似的内容:
int i = 0x11111111;
Run Code Online (Sandbox Code Playgroud)
字符指针?我尝试使用itoa()函数,但它给了我一个浮点异常。
itoa是非标准的。远离。
一种可能性是使用sprintfhexa即适当的格式说明符x并执行:
char str[ BIG_ENOUGH + 1 ];
sprintf(str,"%x",value);
Run Code Online (Sandbox Code Playgroud)
但是,这种计算value数组大小的问题。您必须进行一些猜测,而FAQ 12.21是一个很好的起点。
b可以使用以下公式来近似表示以任何基数表示数字所需的字符数:
⌈log b(N + 1)⌉
0x如果需要的话,再添加几个以容纳,然后BIG_ENOUGH就可以了。