cpp 数据类型
Posted
技术标签:
【中文标题】cpp 数据类型【英文标题】:cpp datatype 【发布时间】:2009-06-15 05:56:57 【问题描述】:您好,我正在 vc++ 6.0 中开发 MFC 应用程序。我为 EditBox1 创建了一个 int 变量(m_iEdit1),为 EditBox2 创建了一个 CString 变量(m_strEdit2)。我想给出两个编辑框不能为空的条件。
如果(m_iEdit1==" ") 返回;
如果(m_strEdit2=="") 返回;
但是第一个条件在这里不起作用,我会得到错误 错误 C2446: '==' : 没有从 'char *' 到 'int' 的转换
请告诉我如何检查 EditBox 的 int 变量是否为空。
【问题讨论】:
这是一个 MFC 应用程序吗?它是 .NET 应用程序吗? 不,它是 vc++ 6.0 不在 .net 中 【参考方案1】:你必须使用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 都是 CString,您可以使用代码
if ( m_iEdit1.IsEmpty() ) return;
if ( m_strEdit2.IsEmpty() ) return;
【讨论】:
【参考方案2】:您必须检查实际的 EditBox 变量(您是否称其为 EditBox1?)以查看该值是否为空。
您还应该考虑其他检查,以确保没有人试图将非数值分配给您的整数值。
【讨论】:
是的,它是实际的 EditBox1 变量。如何查看值是空的,你可以举个例子。提前致谢【参考方案3】:您可以使用GetLine 方法从编辑控件中获取字符串。然后你可以使用 IsEmpty(假设你传递了一个 CString)来检查它是否为空。
【讨论】:
因为我想要整数值而不是 CString 首先获取一个CString的值。然后你可以使用 _ttoi 之类的函数将其转换为整数。以上是关于cpp 数据类型的主要内容,如果未能解决你的问题,请参考以下文章