例如:55 01 8A 这3个16进制数用itoa转换后变成  55 1 8a  
请问如何把01的0给显示出来,小写a变成大写A啊!!
急。 

解决方案 »

  1.   

    我这是在MFC中的,str += itoa( RxdBuff[i] , strBuffer.GetBuffer(0) , 16 );
    让我怎么用sprintf,我的目的是把整形转成字符串好打印出来!!!
      

  2.   

    MFC也是C++
    难道MFC就不是C
      

  3.   


    int i = 0x01;
    char szBuf[10];sprintf(szBuf, "0x%02X", i);
    // %02X
    // 0 零表示不够位数补零
    // 2 表示显示两位宽度
    // X 大写X表示用十六进制大写字母
      

  4.   

    MFC 中用 CString 类:
    int i = 0xa;
    CString str;str.Format("0x%02X",i);
    MessageBox(str);
      

  5.   

    CString str1;
    str1.Format("%0X",RxdBuff[i]); //注意大写的0X
    str += str1;
      

  6.   

    char a[3];
    a[0]=0x55;
    a[1]=1;
    a[1]=8a; 
    sprintf("%.2x %.2x,%.2x",a[0],a[1],a[2]);