判断一个CString对象是否为空字符串的最正确的方法就是调用IsEmpty()函数,看例子:
CString str1 = "VC源码网";
CString str2 = "网址: www.viewtop8.com";
CString str3 = "专注VC++源码发布,VC++源码下载站";
if(str1.IsEmpty())
{
AfxMessageBox("str1为空");
}
esle
{
AfxMessageBox("str1不为空");
}
如果CString字符串的长度为零的话,IsEmpty()函数的返回值为零。
有朋友说,我可不可以用“== , !=”来和NULL比较呢,其实这样的比较有风险,可能会出现错误。
看例子:
CString str1 = "VC源码网";
if(str1 != NULL)
{
AfxMessageBox("str1为空");
}
esle
{
AfxMessageBox("str1不为空");
}
因为str1它是一个CString对象,而不是一个指针,将一个对象和NULL指针做比较显然是不合适的。
有朋友要问,出了IsEmpty()函数,还有没有其他方法判断CString字符串为空呢?有,我们介绍一个效率较低的方法:
CString str1 = "VC源码网";
if (x != "")
{
AfxMessageBox("str1不为空");
}
else
{
AfxMessageBox("str1为空");
}
CString str1 = "VC源码网";
CString str2 = "网址: www.viewtop8.com";
CString str3 = "专注VC++源码发布,VC++源码下载站";
if(str1.IsEmpty())
{
AfxMessageBox("str1为空");
}
esle
{
AfxMessageBox("str1不为空");
}
如果CString字符串的长度为零的话,IsEmpty()函数的返回值为零。
有朋友说,我可不可以用“== , !=”来和NULL比较呢,其实这样的比较有风险,可能会出现错误。
看例子:
CString str1 = "VC源码网";
if(str1 != NULL)
{
AfxMessageBox("str1为空");
}
esle
{
AfxMessageBox("str1不为空");
}
因为str1它是一个CString对象,而不是一个指针,将一个对象和NULL指针做比较显然是不合适的。
有朋友要问,出了IsEmpty()函数,还有没有其他方法判断CString字符串为空呢?有,我们介绍一个效率较低的方法:
CString str1 = "VC源码网";
if (x != "")
{
AfxMessageBox("str1不为空");
}
else
{
AfxMessageBox("str1为空");
}
本文来源于 VC源码之家(http://www.viewtop8.com/),原文地址:http://www.viewtop8.com/news/?138.html