BSTR nach std::string und zurück



  • Hallo Forum,

    wie kann man am besten einen BSTR nach std::string konvertieren (und vice versa).
    In der Websuche habe ich diese Links gefunden:
    http://www.c-plusplus.net/forum/viewtopic-var-p-is-133377.html
    Bloß was ist die Unicode Funktion?

    Dieser Tip wäre vielleicht besser geeignet:
    http://msdn2.microsoft.com/de-de/library/ms235631(vs.80).aspx
    Bloß was ist hier der std::string? Und was muß ich als BSTR benutzen? Diese Klassenwrapper _bstr_t und CComBSTR für BSTR wollte ich nicht unbedingt benutzen.

    Habt Ihr in Eurem Werkzeugkasten eine einfache schnelle Funktion die einen BSTR in einen std::string (und umgekehrt) umwandelt? Notfalls wechsele ich ich von std::String zu std::wstring. (Würde mir aber den heutigen Nachmittag ruinieren.)

    Viele Grüße

    Bommel



  • STDMETHODIMP CAtlTest::SetString(BSTR abc) {
    	_bstr_t bstr_t(abc);
    	std::string sTemp(bstr_t);
    	MessageBox(0, sTemp.c_str(), 0, 0); // Funktioniert, string is angekommen.
    
    	return S_OK;
    }
    
    STDMETHODIMP CAtlTest::GetString(BSTR* abc) {
    	std::string sTemp = "Test";
    	_bstr_t sBstr(sTemp.c_str());
    	abc = (BSTR*)&sBstr;
    
    	return S_OK;
    }
    

    Ich versuche es erstmal mit den Wrappern.


Anmelden zum Antworten