我正在尝试从 c++ 上的网页正文中获取 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);
但是“pagecontent”并不总是包含完整的innerHTML,只有第一个块。即使它有效,我也不知道如何轻松地将其全部变为小写,使用 std::string 我会使用“transform”+“tolower”来做到这一点。
那么,如何将 bstrContent 转换为 std::string?