CString类的Find()函数参数问题
时间:2011-11-26
来源:互联网
if (str.Find(test)!=-1)
{
}
else
{
}
不管str字符串是否包含test字串,结果都是执行else内的代码。是不是Find函数只能接受常数字符串而不能接受变量字符串?
作者: shenxj1980 发布时间: 2011-11-26
常量串和变量都可以的,不知是怎么实现的?
函数定义:
void lookfor(CString test)
{
CString cs =_T("test");
if (cs.Find(test)!=-1)
{
AfxMessageBox(_T("ok"));
}
else
{
AfxMessageBox(_T("nook"));
}
}
调用
void CMFCDialogDlg::OnButton1()
{
CString cs="test";
lookfor(cs);
}
都会打出"ok".
作者: gameslq 发布时间: 2011-11-26
二楼示例正确。
作者: fight_in_dl 发布时间: 2011-11-26
MSDN中函数的原型:
C/C++ code
int Find( TCHAR ch ) const; int Find( LPCTSTR lpszSub ) const;
所以与常量 变量无关!
作者: chenjintaoxp 发布时间: 2011-11-26
作者: shenxj1980 发布时间: 2011-11-26
作者: shenxj1980 发布时间: 2011-11-26
void CWenjianduquView::SetDataPermission(CString data)
{
POSITION pos;
CString attribute;
CGangCaiData* gangcaidata;
pos=GetDocument()->m_gangcaidatalist.GetHeadPosition();
gangcaidata=GetDocument()->m_gangcaidatalist.GetAt(pos);
attribute=gangcaidata->GetBeiZhu();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetPinMing();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetCaiZhi();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetGuiGe();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetGangChang();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
while (pos!=NULL)
{
gangcaidata=GetDocument()->m_gangcaidatalist.GetNext(pos);
attribute=gangcaidata->GetBeiZhu();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetPinMing();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetCaiZhi();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetGuiGe();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
attribute=gangcaidata->GetGangChang();
if (attribute.Find(data)!=-1)
gangcaidata->SetPermission(TRUE);
else
gangcaidata->SetPermission(FALSE);
}
}
下面是对编辑框内容动态改变的处理代码
void CWenjianduquView::OnChangeCaizhi()
{
CString str;
m_caizhi.GetWindowText(str);
SetDataPermission(str);
CtreeCtrlShow();
}
m_caizhi是一个CEdit的变量
作者: shenxj1980 发布时间: 2011-11-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28