C ++でWebページの本文から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 に変換できますか?