czhaii 发表于 2014-6-3 10:39:28

编辑框字符按两个字符合并一字符串问题

本帖最后由 czhaii 于 2014-6-3 11:03 编辑

把汉字生成的字符表按二个字符合并成一个字符串
然后再进行字符串转换十六进制。编译可以通过。
运行到OnButsend()报警,这个两个字符合并成
一个字符串有什么问题呢?谢谢

void CFONTADVDlg::OnButsend()
{
// TODO: Add your control notification handler code here
   int i,len;                      //i转换步骤 len字符串长度
CString str;   
   CByteArray hexdata;
   UpdateData();   
len=m_discode.GetLength();      //得到编辑框数据字符长度
do
{
      CString ml,mh=m_discode;       //定义字符的高低位 取高位数据赋给h
      if(mh==' ')                  //如果高位数据等于空字符
{
       i++;                        //变量i加一,字符串向后移动一位
       continue;                     //继续取下一位数据
}
i++;                           //不等于空字符变量i加一
if(i>len)                      //如果变量i到达字符串总长度,函数返回
break;                         //运算结束返回
      ml=m_discode;               //取低位数据
      str=ml;                        //合并字符串低位
      str+=mh;                     //合并字符串高位
      SetDlgItemText(IDC_STATIC_2,str);             //静态文本框显示字符
      len=Str2Hex(str,hexdata);      //取出的两位字符合并成一个字符串进行转换
m_Comm.SetOutput(COleVariant(hexdata));//发送数据
}
while(i>=len);                   //循环检测是否达到字符总长度
}

czhaii 发表于 2014-6-3 18:32:09

换了一种方法.
问题解决.
页: [1]
查看完整版本: 编辑框字符按两个字符合并一字符串问题