wchar_t mti Wert belegen



  • Hallo zusammen,

    ich habe eine Variable vom Typ wchar_t deklariert und belege sie mit einem Integerwert. Nun möchte ich nach dieser Zahl mit zwei Buchstaben anhängen.

    // Deklaration
    wchar_t buffer_lX[10] = {' '}; 
    
    // Belegung per Konvertierung
    _itow_s( int_lX, buffer_lX, 10);	
    
    // Aktueller Wert: 37500 
    
    // Bisherige Variante um einen Wert anzuhängen
    buffer_lX[5] = 'l';
    buffer_lX[6] = 'X';
    

    Ich frage mich nun,ob das der richtige Weg ist, oder gibt es eine andere Möglichkeit. Das Problem ist nämlich, wenn ich diese Variable als Parameter in einem Funktionsaufruf übergebe, sind die zwei Buchstaben weg 😮

    // 
    //Deklaration der Funktion
    void ReadAndWrite(HWND hwnd, wchar_t p_wchar_T[10]);
    
    //Funktionsaufruf
    ReadAndWrite(hwnd,buffer_lX);
    
    // Funktion
    void ReadAndWrite(HWND hwnd, wchar_t p_wchar_T[10])
    {
       wcstombs_s(&convertedChars, write_buffer, origsize, p_wchar_T, _TRUNCATE);
    }
    

    Wo liegt der Fehler?

    Vielen Dank.

    datatom



  • 'l' und 'X' sind chars, keine wchar_ts. Du musst noch ein L davorsetzen: L'x'

    </raten>



  • Danke, hat geklappt:-)

    buffer_lX[5] = L'l';
    		buffer_lX[6] = L'X';
    		buffer_lX[7] = L' ';
    		buffer_lX[8] = L' ';
    		buffer_lX[9] = L' ';
    

Anmelden zum Antworten