else if (nSel1==0)
{
CString s = "";
s = m_edit1;
HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
s.Format("%s",hex);
int swap(int in)
{
int out,i=0;
char *p_in=(char*)&in,*p_out=(char*)&out;
while (i<sizeof(int))
p_out[i++]=(p_in[sizeof(int)-1-i]&0x0f)<<4|(p_in[sizeof(int)-1-i]&0xf0)>>4;/*赋值运算先算右面,所以要把i++放在左面*/
return out;
}mfc

解决方案 »

  1.   

    下面这个又为啥不对呢,拜托大神了
    if (nSel==2)

    CString s = "";
        s = m_edit1;
    if(nSel1==2)
    {
     
          s.MakeReverse(); 
      m_edit2 = s;
    }
    else if (nSel1==0)
    {
    CString s = "";
    s = m_edit1;
    HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
    s.Format("%s",hex);
    long changeEndian(long int hex)
    {
    long tmp = 0;
                tmp |= (hex >> 24) & 0xff;
    tmp |= (hex >> 8)  & 0xff00;
    tmp |= (hex << 8)  & 0xff0000;
    tmp |= (hex << 24) & 0xff000000;
    return tmp;
    }
    }
      

  2.   

    楼主你好
    除非你了解CString是怎样管理内存的,否则不要使用GetBuffer和ReleaseBuffer
    除非你了解强制转换是怎样进行的,否则不要使用强制转换
      

  3.   

    我想原来格式应该是这样的。
    else if (nSel1==0)
    {
    CString s = "";
    s = m_edit1;
    HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
    s.Format("%s",hex);
    }
    int swap(int in)
    {
    int out,i=0;
    char *p_in=(char*)&in,*p_out=(char*)&out;
    while (i<sizeof(int))
    p_out[i++]=(p_in[sizeof(int)-1-i]&0x0f)<<4|(p_in[sizeof(int)-1-i]&0xf0)>>4;/*赋值运算先算右面,所以要把i++放在左面*/
    return out;
    }
      

  4.   

    函数不能嵌套定义,,我想原来格式可能是这样的,楼主发下else if上面的的代码看看。
    else if (nSel1==0)
    {
    CString s = "";
    s = m_edit1;
    HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
    s.Format("%s",hex);
    }
    }
    int swap(int in)
    {
    int out,i=0;
    char *p_in=(char*)&in,*p_out=(char*)&out;
    while (i<sizeof(int))
    p_out[i++]=(p_in[sizeof(int)-1-i]&0x0f)<<4|(p_in[sizeof(int)-1-i]&0xf0)>>4;/*赋值运算先算右面,所以要把i++放在左面*/
    return out;
    }
      

  5.   

    void Czuoye2Dlg::OnBnClickedButton7()
    {
    // TODO: 在此添加控件通知处理程序代码
    //大小端转换代码
    UpdateData(TRUE);
    int nSel=m_combo2.GetCurSel();
    int nSel1=m_combo3.GetCurSel();
    unsigned char hex[1024]={'\0'};
    if (nSel==2)
    {
    CString s = "";
    s = m_edit1;
     if(nSel1==2)

    s.MakeReverse();//注意输入法
    m_edit2 = s;
    }
     
     else if (nSel1==0)
     {
     CString s = "";
     s = m_edit1;
     HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
     s.Format("%s",hex);
     swap(s);
     } 
    }
    UpdateData(FALSE);
    }
      

  6.   

    void Czuoye2Dlg::OnBnClickedButton7()
    {
    // TODO: 在此添加控件通知处理程序代码
    //大小端转换代码
    UpdateData(TRUE);
    int nSel=m_combo2.GetCurSel();
    int nSel1=m_combo3.GetCurSel();
    unsigned char hex[1024]={'\0'};
    if (nSel==2)
    {
    CString s = "";
    s = m_edit1;
    }
     if(nSel1==2)

    s.MakeReverse();//注意输入法
    m_edit2 = s;
    }
     
     else if (nSel1==0)
     {
     CString s = "";
     s = m_edit1;
     HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
     s.Format("%s",hex);
     swap(s); } UpdateData(FALSE);
    }
      

  7.   

    void Czuoye2Dlg::OnBnClickedButton7()
    {
    // TODO: 在此添加控件通知处理程序代码
    //大小端转换代码
    UpdateData(TRUE);
    int nSel=m_combo2.GetCurSel();
    int nSel1=m_combo3.GetCurSel();
    unsigned char hex[1024]={'\0'};
    if (nSel==2)
    {
    CString s = "";
    s = m_edit1;
    }
     if(nSel1==2)

    s.MakeReverse();//注意输入法
    m_edit2 = s;
    }
      
     else if (nSel1==0)
     {
     CString s = "";
     s = m_edit1;
     HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
     s.Format("%s",hex);
     swap(s);
     
     } 
    UpdateData(FALSE);
    }<img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/6.gif" alt="">
      

  8.   

    void Czuoye2Dlg::OnBnClickedButton7()
    {
    // TODO: 在此添加控件通知处理程序代码
    //大小端转换代码
    UpdateData(TRUE);
    int nSel=m_combo2.GetCurSel();
    int nSel1=m_combo3.GetCurSel();
    unsigned char hex[1024]={'\0'};
    if (nSel==2)
    {
    CString s = "";
    s = m_edit1;
    }
     if(nSel1==2)

    s.MakeReverse();//注意输入法
    m_edit2 = s;
    }
      
     else if (nSel1==0)
     {
     CString s = "";
     s = m_edit1;
     HexToStr((const BYTE *)s.GetBuffer(),s.GetLength(),hex); 
     s.Format("%s",hex);
     swap(s);
     
     } 
    UpdateData(FALSE);
    }
    哎,晕死了,发了3次。