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 数据类型的主要内容,如果未能解决你的问题,请参考以下文章

(JNI)从cpp lib调用函数时的数据类型转换

TrainData类型数据集(OpenCV案例源码letter_recog.cpp解读2)

基本数据类型

CPP数据和C

cpp►文件和流

32位64位下各种数据类型大小的对比