有这样一个char dchar[7] = "abcd",如何把字符串中单个字符一一转换成16进制形式,并以字符串方式打印出来!例如  char dchar[7] = "abcd" ;
我想打印出来:char *hexchar = "61626364" ;这样的形势

解决方案 »

  1.   

    用CString类的Format或者sprintf可以实现
    如:char dchar[7] = "abcd" ;
    char s[2];
    CString ss;    for (int i=0;i<strlen(dchar);i++)
    {
    sprintf(s,"%02x ",dchar[i]);
    ss+=s;
    }
      

  2.   

    int a,i;
    char str[]="abcd";
    CString strtemp,strall;
    a=strlen(str);
    for (i=0;i<a;i++)
    {
    strtemp.Format("%x",str[i]);
    strall=strall+strtemp;
    }
    AfxMessageBox(strall);
      

  3.   

    void CharToHex()
    {
    char dchar[7] = "abcd"; printf("char   decimal   hex\n");
    for(int i=0; dchar[i] !='\0';i++)
    {  
    printf("%c      %d        %x\n",dchar[i],dchar[i],dchar[i]);
    }
    }
      

  4.   

    看错了,sorry,应该是这样
    #include <stdlib.h>
    #include <string.h>
    ...
    void CharToHex()
    {
    char dchar[7] = "abcd";
        char temp[1],buf[100];    printf("%s\n",dchar);
    memset(temp,NULL,1);
    memset(buf, NULL,100);
    for(int i=0; dchar[i] !='\0';i++)
    {  
    _itoa(dchar[i],temp,16);
    strcat(buf,temp); 
    }
    printf("%s\n",buf);
    }