Я пытаюсь получить innerHTML из тела веб-страницы на С++, пока у меня это есть:
// I get "Document" from a parameter when calling this code
BSTR bstrContent = NULL;
IHTMLElement *p = 0;
Document->get_body( &p );
if( p )
{
p->get_innerHTML( &bstrContent );
p->Release();
}
Теперь мне нужно превратить bstrContent в нижний регистр std::string или LPSTR, я пробовал это:
LPSTR pagecontent = NULL;
int responseLength = (int)wcslen(bstrContent);
pagecontent = new CHAR[ responseLength + 1 ];
wcstombs( pagecontent, bstrContent, responseLength);
Но «контент страницы» не всегда содержит полный файл innerHTML, а только первый фрагмент. Даже если бы это сработало, я не знаю, как легко сделать все это строчными буквами, с помощью std::string я бы использовал для этого «transform» + «tolower».
Итак, как мне превратить bstrContent в std::string?