关于输出的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 19:13:23
有一个数组 unsigned char cmd[3]={0x01,0x0C,0x11};
我想把它输出,都是两位,如果是一位的在前面补零,如果是字母大些输出,如果是两位原样输出,上面输出为:01 0C 11,结果我输出的是1,c,11,请问如何实现?
补零问题解决了,可是输出的还是小写的字母,如何换成大写的输出来?

如果是C语言中的printf输出,例如:

printf("%06d\n",456);//输出“000456”就是输出456 ,前面补0补够6位

这里换成
printf("%02x %02x %02x\n",cmd[0],cmd[1],cmd[2]);即可

如果要输出大写字母,只要检查它是不是在大写字母范围内?(如果是就直接输出,如果不是就-32再输出,就是大写了。因为小写字母比大写字母大32)

关于输出格式的,建议去看一下iostream输入输出流的操纵符吧。