#visual-studio-2010 #c 11 #visual-c #visual-c -2010 #widechar
#visual-studio-2010 #c 11 #visual-c #visual-c -2010 #widechar
Вопрос:
While(1)
{
WCHAR wcImageName[80];
if ( pxmlNameTag->GetData(wcImageName, wcslen(wcImageName)) )
{
if ( !wcscmp(wcImageName, String2) )
{
Printf("String matched");
break;
}
else
{
Printf("In else");
}
}
else
{
Printf("Failed to get the data");
}
}
}
Я повторяю цикл, пока не получу соответствующую строку. getData используется для получения строки в wcImageName. в первый раз я могу получить данные в wcImageName, и они сравниваются со string2. Если не соответствует циклу, повторите 2-й раз. я снова объявляю wcImageName, но getData не может скопировать данные в wcImageName. потому что он инициализирован. я попытался инициализировать его с помощью L’ 0′, но результат тот же.
Комментарии:
1. Что такое
While
,WCHAR
иPrintf
? Являются ли они специфичными идентификаторами Visual Studio или это ваши определения, которые отсутствуют в примере? ОпределениеString2
переменной также отсутствует.2. Можете ли вы показать код pxmlNameTag->getData?
3. Вы пробовали с
WCHAR wcImageName[80] {};
?4. На самой первой итерации вы вызываете
wcslen
случайный неинициализированный мусор. Ваша программа демонстрирует неопределенное поведение прямо там. Вы, вероятно, имели в виду_countof(wcImageName)
5. У вас также больше закрывающих фигурных скобок, чем открывающих.