string to WCHAR* - gelöst



  • Hallo,
    ich versuche gerade mit der GDI einen text mit DrawString() auf den Bildschirm zu schreiben. nur wie gibt man jetzt den text in die funktion ein? beim Typ WCHAR* funktioniert cin ja nicht direkt:

    WCHAR* text;
    cin>>text;//Fehlermeldung des Compilers
    

    wie kriegt man jetzt den Text, der in Main eingegeben wurde von std::string nach WCHAR*? ich habe noch keine konvertierungsmöglichkeit gefunden.

    soweit bin ich schon gekommen:

    void text(WCHAR* text)
    {
    	Graphics graphics(hdc);    // 04 
    	SolidBrush brush(Color(255, 255, 0, 0));
    	Font font(hdc);
    	PointF point(100, 100);
    	RectF rect(100, 100, 100, 100);
    	StringFormat format;
    
    	graphics.DrawString(text,10, &font, rect, format, &brush);
    }
    

    danke schonmal,
    andi01.



  • std::wstring mywstring;
    std::wcin >> mywstring;
    
    text(&mywstring[0]);
    

    Und natürlich gebts ne Meldung, du versuchst in einen Pointer zu schreiben.

    Wenn du unbedingt einen std::string in wstring konvertieren musst, geht ganz einfach so:

    std::string narrow = "Hello";
    std::wstring wide(narrow.begin(), narrow.end());
    


  • danke, das hat das problem gelöst.

    mfg,
    andi01.


Anmelden zum Antworten