Strings verbinden unter Win CE



  • Hallo,

    ich bin kein C-Experte, habe aber das 'Problem', dass ich in einem vorhandenem Programm (Konsolenanwendung ohne MFC) einige Erweiterungen vornehmen muss. Dabei habe ich ein Problem mit der Verbindung von 2 Strings.

    x ist im Programm als char* deklariert. xyz.cFileName ist der Dateiname aus der WIN32_FIND_DATA-Struktur die mittels FindFirstFile/FindNextFile gefüllt wird. Die Software läuft unter Windows CE 6.0 und ist in Unicode. Dadurch wird die Struktur WIN32_FIND_DATAW benutzt und somit ist xyz.cFileName als WCHAR und nicht als TCHAR wie in WIN32_FIND_DATA deklariert.

    Ich muss nun die beiden Strings x und wfd.cFileName zu einem String verbinden. Mit strcat(x, xyz.cFileName) funktioniert es nicht weil xyz.cFileName als WCHAR deklariert ist. Auch mit einem Typecast hat es nicht funktioniert. Auch die Verwendung von wcscat brachte nichts.

    Ich bin mir sicher, dass die Lösung für das Problem einfach ist, nur komme ich nicht drauf. Kann jemand helfen???

    Gruß Klaus77



  • Hallo,
    das einfachste ist, wenn beide vom gleichen Typ sind.
    Kannst du dein x nicht von Beginn an als WCHAR benutzen?

    Ansonsten mit MultiByteToWideChar konvertieren und z.B. mit wcscat, besser mit wcsncat verbinden.

    Gruß,
    B.B.



  • Hallo Big Brother,

    Die Variable x kann ich leider nicht ändern, da sie im gesamten Programm zig-mal genutzt wird. Das würde richtig Arbeit machen, alles anzupassen. Deshalb danke für den Tip mit MultiByteToWideChar. Das werde ich mal versuchen.

    Gruß Klaus77


Anmelden zum Antworten