请研究过空档接龙战况记录的兄弟来看看偶想写个程序修改空档接龙的记录
可是在数值、16进制格式的字符串、注册表键值转换过程有些看不懂,请和位帮忙指点一下偶测试过三个数据,分别显示如下:空档接龙中战况    注册表中保存的键值     计算器中16进制显示的数据
2110             3E 08 00 00               83E
1000             E8 03 00 00               3E8
524350           3E 00 08 00               83E 请教如下问题
一、字符串83E怎么换为10进制数据?
二、注册表中保存的键值和计算器中16进制显示的数据怎么相换转换出来的??请各位指点一下

解决方案 »

  1.   

    偶的代码如下:
    不过,自己认为很蠢,不知道有没有更好的办法??CString strJc; //获取EDITBOX里输入的值
    CString strTemp; //临时转换用
    BYTE byteValue[4] ; //写入的值
    BYTE byteTemp[4] ;  //转换用的临时变量
    int iStart;
    int i;m_edtKdjlzfs.GetWindowText(strJc);
      //这里输入的是1000,16进制为3e8,
    ///  实际运用时,要添加前导0:03e8//如果能被2整除,则要加前导0
    if ( strJc.GetLength() % 2  == 0)
    {
      strJc = "0" + strJc;
    }//把值先放到临时变量中去
    iStart = 0;
    for ( i=0;i<strJc.GetLength();i++)
    {
    strTemp += strJc.Mid(i,1);
           if ( i%2 == 1)
    {
    byteTemp[iStart] = _tcstoul(strTemp,0,16);
    iStart ++ ;
    strTemp = "";
    }
    }
    //变换位置
    iStart = 0;
    for ( i = 3;i>=0;i--)
    {
    if ( byteTemp[i] != 0 )
    {
    byteValue[iStart] = byteTemp[i];
    iStart++;
    }
    }
    //这时,byteValue里存储的值为 e803//写注册表....................................
    还未测试过其他的值呵呵
    偶再试
    请各位出手指点