C++中数字和ASCII码的转换问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:58:38
我有个数BYTE addr;(00H~FFH)
要转换成十进制的三位数 AAA,并转换为ASCII码存入BYTE buf[i]中,怎么实现

#include <stdio.h>
#define BYTE unsigned char

void main(void)
{
BYTE addr = 0xf1;
BYTE buf[10];
unsigned int iAddr = addr;
int a1, a2, a3;
a1 = iAddr/100;
a2 = (iAddr%100)/10;
a3 = iAddr%10;

//printf("%u\t%d\t%d\t%d", iAddr, a1, a2, a3);

sprintf((char*)buf, "%c%c%c", a1, a2, a3);
}