与下位机通信后,返回的报文为*&*Asssst$&$   通过转换为十进制数  *&*A 和 t$&$  这些转换为十进制  数值都是固定的  但返回的ssss为十六进制, 转换为十进制后位数不一样怎么样才能把需要的数提取 输出呢

解决方案 »

  1.   

    ANSI字符是8位的
    将两个16进制数转换成一个字符即可
    比如0x41 = 65 = a
      

  2.   

    CString strText = _T("*&*Asssst$&$ ");
    LPCTSTR szStart = _T("*&*A");
    int end = strText.Find(_T("t$&$"));
    strText = strText.Mid(4, end-4);
    AfxMessageBox(strText);
    this ????
      

  3.   

    我的语言有点乱。。返回的报文的形式是*&*Asssst$&$,通过用strtemp.Format("%d",bt); 使返回的值为   4238426500010255363836   但要求是输出00010  其他的数字不要显示,该如何处理呢?或是strtemp.Format("%c",bt); 显示为*&*A
    $&$    去掉  *&*A  t$&$,再把中间的字符转换后显示??小弟比较迷茫,求大家指点指点~~~谢谢
      

  4.   

    你的意思是:比如返回的数据格式化CString为"4238426500010255363836",他的前面是固定的字符串:"42384265",后面是固定的字符串:"255363836",是这个意思????
      

  5.   

    你的报文有统一格式吗  
    最好有个格式 这样转换转换鞋一个总的函数就可以了
    你要显示成什么样的格式  说明具体些我给你写   邮箱[email protected]