如果用dos窗口输出的话可以用"/d"--10进制
"/o"---8进制的方式来输出,但是在window窗口下应该怎么实现呢?
应该有这样的函数吧,我是新手,那位曾经作过的请指教。
最好能给出具体代码~~多谢

解决方案 »

  1.   

    http://www.codeguru.com/editctrl/hexeditctrl.shtml
      

  2.   

    你首先要保证你编辑框里面只能写数字(设置风格就可以做到这点)
    然后呢,假设编辑框为IDC_EDIT1;
    CString text=GetDlgItem(IDC_EDIT1);
    DWORD   number=atol((LPCTSTR)text);
    text.Format("%o",number);//x为16进制,o为8进制
    MessageBox(text);
    这样,text就是你输出的字符串了
      

  3.   

    我是从一个文件中读取的,如下,用的是*char型,那就没有Format这个函数了,怎么办?强制转换?好像有点问题。
    CFile file;
    CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"TXT(*.*)|*.*||",this);
    CString FileName;
    if(dlg.DoModal()==IDOK)
    {
        FileName=dlg.GetPathName();
    }
    if(file.Open(FileName,CFile::modeRead))//fileName是你要打开的文件名
    {
    char * buf=new char[file.GetLength()+1];
    file.Read(buf,file.GetLength());
    buf[file.GetLength()]=0;
    file.Close();
    SetDlgItemText(IDC_EDIT,buf);//IDC_EIDT1是显示信息的Edit控件ID
    delete []buf;
    }
      

  4.   

    自己写一个啊,又不难
    text.Format("%o",number);//x为16进制,o为8进制
    当然,要将16(8)进制字符串转为10进制整数可是要多写点东西
      

  5.   

    我是从一个文件中读取的,如下,用的是*char型,那就没有Format这个函数了,怎么办?强制转换?好像有点问题。
    ///////////////你可以用从* char转换到 CString啊
      

  6.   

    楼主:强制转换没问题呀。
    CString text=buf;
    int number=atoi(text);
    text.Format("%o",b);
    SetDlgItemText(IDC_EDIT1,text);
      

  7.   

    重要的是2进制用format可以转化么?
    参数怎么写?
      

  8.   

    请你关注:Example /* ITOA.C: This program converts integers of various
     * sizes to strings in various radixes.
     */#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
      

  9.   

    edit 中是啥内容,数字吗?itoa();
      

  10.   

    用itoa()想转换成什么进制都可以
      

  11.   

    itoa()怎么调用啊,谁帮忙写清楚。