如题,做一个简单的转换实验  对话框中两个编辑框 (Edit1  Edit2) 和一个按钮,点击按钮将输入Edit1的字符转化为0、1形式的二进制代码显示在Edit2上,请问用什么函数,该怎样实现?

解决方案 »

  1.   

    Cstring ch1, ch2, ch3;
    int i=0;
    unsigned int value=0;m_edit1.GetWindowText(ch1);   //获取Edit1的字符串for (i=0; i<ch1.GetLength(); i++)
    {
             value = (unsigned int) ch1[i];
             ch2.Format("%08u", value);
             ch3 += ch2;
    }m_edit2.SetWindowText(ch3); //设置Edit2显示的字符串
      

  2.   


    char szText[] = {"Hello,132"};
    BYTE* buf = NULL;
    int len = sizeof(szText);
    buf = new BYTE[len];
    memcpy(buf, szText, len);
    CString strText(_T(""));
    char szTmp[64] = {0};
    for(int i=0; i<len; i++)
    {
    _itoa(buf[i], szTmp, 2);
    strText += CString(szTmp) + _T("\r\n");
    }
    AfxMessageBox(strText);
      

  3.   

    错误 1 error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [5]”转换为“const wchar_t *” d:\my documents\visual studio 2008\projects\jz\jz\jzdlg.cpp 168 jz
      

  4.   

    要是我做的话会用很笨的办法,直接将字符串拆开一个一个的将其字符所对应的ASCll码换算成二进制数,在将二进制数转化成字符串,显示……特笨哈……
      

  5.   

    这要位操作了.把字符串先分割成char. 然后逐char移位.测试bit 01显示之
      

  6.   

    你是用#1楼的代码吗?只要将m_edit1与idc_edit1关联成control变量,
    //{{AFX_DATA(CTest2Dlg)
    enum { IDD = IDD_TEST2_DIALOG };
    CEdit m_edit2;
    CEdit m_edit1;
    //}}AFX_DATA
      

  7.   

     int a[8];
     CString str="",tmp="";
         for(i=0;i<8;i++)
         {
            a[i] = pchar[k] & 2^i;
            tmp.format("%d",a[i]);
            str = str + tmp;
         }
     MessageBOx(str);
      

  8.   

    看看MSDN中的例子吧
    #include <stdlib.h>
    #include <stdio.h>void main( void )
    {
       char buffer[20];
       int  i = 3445;
       long l = -344115L;
       unsigned long ul = 1234567890UL;   _itoa( i, buffer, 10 );
       printf( "String of integer %d (radix 10): %s\n", i, buffer );
       _itoa( i, buffer, 16 );
       printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
       _itoa( i, buffer, 2  );
       printf( "String of integer %d (radix 2): %s\n", i, buffer );   _ltoa( l, buffer, 16 );
       printf( "String of long int %ld (radix 16): 0x%s\n", l, 
                                                        buffer );   _ultoa( ul, buffer, 16 );
       printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
                                                        buffer );
    }
    OutputString of integer 3445 (radix 10): 3445
    String of integer 3445 (radix 16): 0xd75
    String of integer 3445 (radix 2): 110101110101
    String of long int -344115 (radix 16): 0xfffabfcd
    String of unsigned long 1234567890 (radix 16): 0x499602d2