0

我有一个包含 wstrings 的向量。我想查看其中一个字符串是否与变量中的字符串具有相同的内容:

std::wstring m_MyString;

void CheckExists() {
    std::vector< std::wstring > list = ...
    for (std::vector< std::wstring >::iterator it = list.begin(); it != list.end(); ++it) {
        if (*it == m_MyString) {
            ...
            break;
        }
    }
}

但是,*it == m_MyString似乎没有进行字符串相等 -if当向量中有匹配的字符串时,它不会进入。我认为它正在做指针/地址相等。我如何让它做基本的字符串相等?

4

1 回答 1

0

原来问题是变量中的字符串是以空结尾的,而向量中的字符串不是。所以它们看起来一样,但实际上并不相同。

于 2013-05-31T10:41:10.893 回答