Я пытаюсь получить innerHTML из тела веб-страницы на c ++, у меня пока есть это:
// 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);
Но "pagecontent" не всегда содержит полный innerHTML, только первый блок.Я, даже если бы это работало, я не знаю, как легко сделать все это строчными буквами, с помощью std :: string я бы использовал «transform» + «tolower» для этого.
ТакКак я могу превратить bstrContent в std :: string?