二进制 到十进制 有库函数吗
自己学着写 进制转换器,我可以把十进制转换成二进制 ,用的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);
[解决办法]
一楼正解。