Bekomme kleine Umwandlungsfunktion nicht hin!



  • Hallo!

    Folgender Code soll in eine Funktion:

    WCHAR wstrString[MAXPATHLENGTH];
    
    MultiByteToWideChar(CP_ACP, 0, string.c_str(), -1, wstrString, 2000);
    

    Mein Ansatz

    WCHAR* ConvertStringToWChar(string str)
    {
    	WCHAR wstrString[MAXPATHLENGTH];
    	MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, wstrString, 2000);
    
    	return(&wstrString[MAXPATHLENGTH]);
    }
    

    Da kommen aber unterschiedliche Ergebnisse bei raus und jetzt brauche ich eure Hilfe 🙂



  • return wstrString;
    


  • devil81 schrieb:

    return wstrString;
    

    Mein Compiler ist sogar so nett 😉

    warning C4172: Adresse einer lokalen Variablen oder eines temporaeren Wertes wird zurueckgegeben

    Ein schöner Fehler 😃

    Wie bekomme ich den ablauf hin:

    - string übergeben
    - string zu wchar
    - wchar zurückgeben

    ?



  • Hm stimmt. Du musst das mit nem pointer und new wohl anlegen.
    also var *p= new var[size];


Anmelden zum Antworten