读书人

二进制 到十进制 有库函数吗,该如何解

发布时间: 2012-03-28 15:40:03 作者: rapoo

二进制 到十进制 有库函数吗
自己学着写 进制转换器,我可以把十进制转换成二进制 ,用的atoi 和 itoa。

C/C++ code
case IDC_OK1:         {            TCHAR str1[256];            TCHAR str2[256];                 GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));            int i1 = atoi (str1);            itoa(i1,str2,2);            SetDlgItemText(hwnd,IDC_EDIT2,str2);        }        break;        case IDC_OK2: //下面的不能实现 是错误的        {            TCHAR str3[256];            TCHAR str4[256];                 GetDlgItemText(hwnd,IDC_EDIT3,str3,sizeof(str3));            int i1 = atoi (str3);  //不知道那个库函数可以替换呢?            itoa(i1,str4,10);            SetDlgItemText(hwnd,IDC_EDIT4,str4);        }

IDC_OK1: 对应的是 10 ---2 进制 可以实现
IDC_OK2: 想弄成 2---10 进制 就不行了,我知道些的不多,在第一个里面我把对话框里面的值,接受过来,转成int
,然后用itoa(i1,str2,2); 用2进制的打印。

但是 在2---10的进制过程中,我怎么把对话框(IDC_EDIT3)输入的二进制数来保存呢(以二进制的形式)?然后用itoa用10进制的方式来来打印。

[解决办法]
int i1 = atoi (str3); //不知道那个库函数可以替换呢?
====
int i1 = strtol(str3, NULL, 2);
[解决办法]
一楼正解。

读书人网 >C语言

热点推荐