String an anderem kopieren



  • Hallo, meine Reaktion auf WM_CHAR sieht so auf:

    case WM_CHAR:
    switch ( activebutton)
    {

    case 1:
    wsprintf(txtButton1, TEXT("%c"), (TCHAR)wParam);
    break;
    }

    Das funktioniert auch, in txtButton1 wird der letzt gedrückte buchstabe geschrieben; überschreibt aber alles was vorher war. Wenn ich dann also

    wsprintf(txtButton1, TEXT("%c"), (TCHAR)wParam);
    durch
    strcat(txtButton1, (TCHAR)wParam);

    ersetze, sagt der compiler nur: G:\WINAPI\WinTimeTable\WiNTimeTable.cpp(993) : error C2065: 'strcatf' : nichtdeklarierter Bezeichner
    Fehler beim Ausführen von cl.exe.

    wer kann mir da helfen ?
    thx 🙂



  • lstrcat



  • Original erstellt von <windows.h>:
    lstrcat

    wenn ich lstrcat(txtButton1, wParam); benutze kommt folgengendes:
    G:\WINAPI\WinTimeTable\WiNTimeTable.cpp(993) : error C2664: 'lstrcatA' : Konvertierung des Parameters 2 von 'char' in 'const char *' nicht moeglich
    Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    Fehler beim Ausführen von cl.exe.

    wenn ich allerdings lstrcat(txtButton1, (TCHAR*)wParam); mache, kann ich zwar komplieren, aber es zeugt sich keine auswirkung ( normalerweiße wird der buchstabe da angezeigt was ich tipp, doch das verändert sich nciht.... )



  • TCHAR temp[5];
    
    case WM_CHAR: 
    switch ( activebutton)
    {
    case 1:
    wsprintf(temp, TEXT("%c"), (TCHAR)wParam); // Zeichen zum String machen
    lstrcat(txtButton1,temp); // String an anderen String anhängen
    break;
    }
    


  • Original erstellt von geeky:
    **```cpp
    TCHAR temp[5];

    case WM_CHAR:
    switch ( activebutton)
    {
    case 1:
    wsprintf(temp, TEXT("%c"), (TCHAR)wParam); // Zeichen zum String machen
    lstrcat(txtButton1,temp); // String an anderen String anhängen
    break;
    }

    thx, so klappt es 🙂


Anmelden zum Antworten