MFC从Edit控件输入一个一维数组,保存到s1,并且显示到静态文本IDC_ct上?该如何解决
MFC从Edit控件输入一个一维数组,保存到s1,并且显示到静态文本IDC_ct上?
IDC_ct)是一个静态文本。IDC_EDIT2是编辑框控件。
我在调试运行的时候,输入了一个0001.s1[]全部都是0.
但是在静态文本上显示出来的ch3,也就是由s1[]用itoa函数转换过来的结果却不一样。
下面是程序代码。求高手帮我修改一下
可以从edit控件获取一维数组,并且保存到s1,再显示到静态文本上。谢谢了
------解决方案--------------------
------解决方案--------------------
也可以
//s1[i]=atoi(s0[i]);
s1[i]=s0[i]-48;
------解决方案--------------------
我看了,里面的值都是正确的
你调试的时候不会是把断点放在了s1[i]=s0[i]-48;这行吧
只有执行下一行的时候才能看里面的值
IDC_ct)是一个静态文本。IDC_EDIT2是编辑框控件。
我在调试运行的时候,输入了一个0001.s1[]全部都是0.
但是在静态文本上显示出来的ch3,也就是由s1[]用itoa函数转换过来的结果却不一样。
下面是程序代码。求高手帮我修改一下
可以从edit控件获取一维数组,并且保存到s1,再显示到静态文本上。谢谢了
- C/C++ code
int s1[10];//定义一个长度为10的数组,用来存放输入的数组 int lens;//数组长度 void CCyber2Dlg::Ons0() { // TODO: Add your control notification handler code here int i; char s0[10]; char ch3[10]; int s1[10]; GetDlgItemText(IDC_EDIT2,s0,10); lens = strlen(s0); if(lens!=4) { MessageBox("初始状态S0不符合要求,请重新输入!"); } else { for(i=0;i<lens;i++) { if(s0[i]=='0' || s0[i]=='1') { s1[i]=atoi(s0[i]); } else MessageBox("初始状态S0不允许出现0,1以外的数字,请重新输入"); itoa(s1[i],&ch3[i],10); } GetDlgItem(IDC_ct)->SetWindowText(ch3); UpdateData(TRUE); } }
------解决方案--------------------
------解决方案--------------------
也可以
//s1[i]=atoi(s0[i]);
s1[i]=s0[i]-48;
------解决方案--------------------
我看了,里面的值都是正确的
你调试的时候不会是把断点放在了s1[i]=s0[i]-48;这行吧
只有执行下一行的时候才能看里面的值