如接收的字符串为 01 02 00 00 00 fc d1 存储在char str[7]中即是01存储在char str[0]以此类推,想把str[0]显示在列表视图中,如插入列m_list.InsertItem(0,(CString)str[0]);但现在显示出来为01对应的ASCII码字符,而我想显示1,请各位高手帮帮忙啊

解决方案 »

  1.   

    用sprintf(str[0], "%02x", ushort);
    ushort是存储01 02 00 00 00 fc d1 数据的,
      

  2.   

    CString cstr;
    cstr.Format(_T("%02x"), str[0]);
    m_list.InsertItem(0, cstr);
      

  3.   

    我同意stjay说的,我之前也那样做了是对的,我忘了补充我的问题:如接收的字符串为 01 02 00 00 00 fc d1 存储在char str[7]中即是01存储在char str[0]以此类推,存在str[0]和str[1]中的0102表示一个16进制数,我想显示其0x0102对应的10进制数258,如插入列
                m_list.InsertItem(0,dis_info[2]+dis_info[3]]);
    我知道这样dis_info[2]+dis_info[3]是肯定不对的,但我不知该怎样做,请大家帮帮忙啊