如何判断C++里的long型数据是否为空值,谢谢

如题所述

long a;

if(a==0)追问

是空值,我将一个Edit控件关联为long型数据,SetTimer刷数据时,OnTimer里面的UpdateData函数获取数据,当我将控件内的数据删除为空时,就会报错,我想设一个条件语句先排除空值情况再UpdateData,这个条件语句要怎么写啊

追答

额。那你上面的问题就问的不对了。你应该问怎么判断 Edit 控件怎么判断数据为空。不是应该将关联数据设置成CString类型吗?
用 UpdateData(true);

参考一下下面的。
如果是一些对edit框的复杂操作建议用cedit类型。

示例:

CEdit m_ctrlEdit;

//将光标移到开头

m_ctrlEdit.SetSel(0,0);

//将光标移到末尾
m_ctrlEdit.SetSel(-1);

//选中所有内容

m_ctrlEdit.SetSel(0,-1);

//写入值

m_ctrlEdit.ReplaceSel("替换内容");

//得到当前edit框中的所有字符数
int iStart,iCount;//iCount 为字符数
m_ctrlEdit.SetSel(0,-1);

m_ctrlEdit.GetSel(iStart,iCount);

还一种可以直接用控件的id值来进行操作

示例:

((CEdit*)GetDlgItem(IDC_EDIT)

他类似于上边的m_ctrlEdit

这样写的好处是可以在消息传递中使用,便于不同窗口间传递edit内容

追问

但是我要的是数值不是CString类型的,而且数值不是也可以用Format函数转成CString嘛,我是想知道怎么判断数值类型的为空值,拜托拜托

追答

long 类型 又不是指针,怎么能判断为空呢?

追问

哦,谢谢,不过有没有可以用关联的变量来写的方法吖,因为有点多,有40+个Edit控件,所以想用数组写成循环的,有没有办法实现呢,麻烦了

追答

应是可以的,你可以自己再写一个这样的类,根据不同的关联类型对它的方法重载,然后将这写Edit组织成一个数组,就可以用循环了。我C++不是很熟悉,只能帮你这些了。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答