Проблема со сравнением 2 строк CS, которые выглядят одинаково - PullRequest
0 голосов
/ 26 марта 2019

2 строки, которые кажутся равными, не проверяются как равные. Я использую Microsoft Visual Studio 2008. Я добавил часы для каждой строки CString, и в окне просмотра они выглядят одинаково. Но когда я пытаюсь сравнить их, используя: а = б; или a.compare (b);

они не сравниваются.

bool CDictionaryClass::CheckWord(CString word)
{
    // get starting position for search
    LPTSTR buff = word.GetBuffer(10);

    wchar_t testChar = tolower(buff[0]);
    int loc = int(testChar) - 97;
    int end,testLength,test;
    CString testWord = word.MakeLower(),dictWord;

    testLength = word.GetLength();
    word.ReleaseBuffer();

    if(loc == 25)
        end = GetNumberOfWords();
    else
        end = ABCPositions[loc+1];

    for(int i=ABCPositions[loc]; i<end; i++)
        if(dictionaryWords[i].length == testLength)
            {
            dictWord = dictionaryWords[i].word.MakeLower();
            if(testWord == dictWord)
                return true;
            }

    return false;
}

Я ожидаю, что testWord будет равен dictWord

...