C++Builder int如何以16进制输出

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:20:18
环境:C++Builder 2009

首先我用fread从一个GBA ROM里读出了一串内容——因为是GBA ROM,所以读的时候不是按文本模式,直接用2进制模式读出来的。
但是读出来的东西最后让控件显示的时候会默认输出10进制,而我希望它输出的是16进制,所以在这里问问如何做。

在网上看到一些人说printf()就可以,但是很可惜,那个函数是输出到屏幕上的,控制台编程还有用,这VCL编程就没法用了。

用BCB的人本来就少,用2009的就更少了,不知道有人回答没,悬赏最高只能100分,哎……

代码如下:

int a;
char ch[10];
char mid_char;
int temp = 0, i = 0;
printf("Please input the num:\n");
scanf("%d", &a);
 
while(a / 16 > 0)
{
    temp = a % 16;
    ch[i] = temp + 48;//字符比数字ASCII码大48
    i++;
    a = a / 16;
     
    if( a < 16 )
    {
        ch[i] = a + 48;//这样得到的结果是逆序的
        break;
    }
}
 
//调整一下顺序
temp = strlen(ch);
for(i = 0; i&nb