这段代码没效果,哪位高手看出有什么有关问题吗?求大牛帮下小弟我

这段代码没效果,谁看出有什么问题吗?求大牛帮下我
本帖最后由 VisualEleven 于 2014-05-13 16:16:14 编辑
// 不区分大小写查找字符串是否存在于first中,返回1表示m_second存在于m_first中
BOOL CServFunc::isCompareNoCase(CString &m_first, CString &m_second)
{
int first, second,result;
first = m_first.GetLength();
second = m_second.GetLength();
if (first < second)
result = FALSE;
for (int i = 0; i < first; i++)
{
if ((i + second)>first)
{
result = FALSE; break;
}
else if(m_first.Mid(i, second).CompareNoCase(m_second)==0)
{
result = TRUE;
}
}
return result;
}

------解决方案--------------------
你都调用CString::MakeUpper/MakeLower转成大写或者小写,然后利用CString::Find()不是更简单??
------解决方案--------------------
else if(m_first.Mid(i, second).CompareNoCase(m_second)==0)
        {
            result = TRUE;
        }  
---------------
这里找到以后不需要break或者直接return TRUE吗?
------解决方案--------------------

BOOL CServFunc::isCompareNoCase(CString m_first, CString m_second)
{
m_first.MakeUpper();
m_second.MakeUpper();

if (m_first.Find(m_second) >= 0)
{
return TRUE;
}

return FALSE;
}