1. BSTR to String
BSTR resultBSTR;
String result;
result = String(resultBSTR, SysStringLen(resultBSTR));
SysFreeString(resultBSTR);
// Inside WebKit
String result = toString(resultBSTR);
2. BSTR to char*
#include <string>
using namespace std;
BSTR nameBSTR;
std::wstring name(nameBSTR, ::SysStringLen(nameBSTR));
SysFreeString(nameBSTR);
char *c_name = name.c_str();
3. char* to BSTR
char* buffer;
BSTR bsBuf = SysAllocString((BSTR)buffer);
4. string to char*
string str;
char* pStr = str.c_str();
5. char* to string
char* pStr;
string str = string(pStr);