cpp数据类型

时间:2009-06-15 05:56:58

标签: visual-c++ mfc

您好我正在开发vc ++ 6.0中的MFC应用程序。我为EditBox1创建了一个int变量(m_iEdit1),并为EditBox2创建了一个CString变量(m_strEdit2)。我想给出两个editbox不能为空的条件。

if(m_iEdit1 ==“”)
    返回;

if(m_strEdit2 ==“”)
   返回;

但是第一个条件在这里不起作用我会得到错误 错误C2446:'==':没有从'char *'转换为'int'

请告诉我如何检查一个int的EditBox变量是否为空。

3 个答案:

答案 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)来检查它是否为空。