簡體   English   中英

wstring迭代器的輸出上的相等比較不起作用

[英]Equality comparison on the output of a wstring iterator not working

我有一個拿着繩子的載體。 我想看看其中一個字符串是否與變量中的字符串具有相同的內容:

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向量中有匹配的字符串,則不會進入if 我認為它正在做指針/地址相等。 如何獲得基本的字符串相等性?

原來的問題是變量中的字符串以空值結尾,而矢量中的字符串不是。 因此,它們看上去相同,但實際上並不相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM