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