char *tmp1="f";
char *tmp2="e";
问:
怎样将上述转化为0xfe;

解决方案 »

  1.   

    DWROD d, d1, d2;
      sscanf(tmpl, "%x", &d1);
      sscanf(tmp2, "%x", &d2);
      d = (d1<<4) + d2;
      

  2.   

    不太明白,你是要干什么?
    如果只是将"fe"转成数字0xfe那很简单
    利用ascii值转换
    nResult = (tmp1[i]-48)*(16的(位数-1)次方)
    一直到最后一位
      

  3.   

    char szTmp[8];
    sprintf(szTmp, "%s%s", tmp1, tmp2);
    int nNum;
    sscanf(szTmp, "%x", &nNum);
      

  4.   

    如楼上所说#include "iostream.h"
    #include <string>void main()
    {
    char *tmp1="f";
    char *tmp2="e";
    char szTmp[8];
    sprintf(szTmp, "%s%s", tmp1, tmp2);
    int nNum;
    sscanf(szTmp, "%x", &nNum);
    cout<<nNum<<endl;
    int n;
    cin>>n;
    }输出结果 254   也就是0x000000fe的十进制值
      

  5.   

    int a='f'-87;
    int b='e'-87;
    int c=0;
    c=a*16+b;//这就是结果
      

  6.   

    我是因为最近在读取屏保密码的时候,需要将读取到的字符串(2字节)转化为单字节的char
    多谢这么多人的帮助,(我不知道在论坛里边怎样才能把分给出来)。