您好我正在开发vc ++ 6.0中的MFC应用程序。我为EditBox1创建了一个int变量(m_iEdit1),并为EditBox2创建了一个CString变量(m_strEdit2)。我想给出两个editbox不能为空的条件。
if(m_iEdit1 ==“”)
返回;
if(m_strEdit2 ==“”)
返回;
但是第一个条件在这里不起作用我会得到错误 错误C2446:'==':没有从'char *'转换为'int'
请告诉我如何检查一个int的EditBox变量是否为空。
答案 0 :(得分:3)
您必须使用UpdateData()方法
除非你说,否则m_变量不会从控件中获取数据。
UpdateData(TRUE) // the m_ variables will be updated from the controls
UpdateData(FALSE) // the controls will be updated from m_ variables
您希望m_iEdit1为整数,但由于您需要检查EditBox1是否为空,请将m_iEdit1更改为CString。然后你可以使用
atoi(m_iEdit1)
获取整数值。
既然m_iEdit1和m_strEdit2都是CStrings,你可以使用代码
if ( m_iEdit1.IsEmpty() ) return;
if ( m_strEdit2.IsEmpty() ) return;
答案 1 :(得分:0)
您必须检查实际的EditBox变量(您是否将其称为EditBox1?)以查看该值是否为空。
您还应该考虑其他检查,以确保没有人试图将非数值赋给您的整数值。
答案 2 :(得分:0)
您可以使用GetLine方法从编辑控件中获取字符串。然后你可以使用IsEmpty(假设你传递了一个CString)来检查它是否为空。