关于字符串的 == 和vector 的find函数。
maowu 2005-01-23 09:41:16 我期望在一个vector中查找一个字符串。vector的元素是从文件读进来的语句。(windows)
rule是一个string。MFC的文本框中用CString读进来的。
我知道文件中有根rule一样的一行的。但不知道为什么,总是找不到。
//如果能找到。
if (std::find(myVector.begin(), myVector.end(), rule) != myVector.end())
总是返回false。
我后来就一个个循环,从vector中一个个比较,还是不行:
bool have = false;
while(c_iter != c_iter_end)
{
if (rule == *c_iter)//我调试的时候看到明明他们一样,还是进不去if里面。
{
have = true;
break;
}
c_iter++;
}
===============
附上从文本框读进来的代码:
CString rule;
edit = (CEdit*)GetDlgItem(IDC_RULE);
edit->GetWindowText(rule);
editor.rule = rule;