LPCTSTR STRING ANHAENGEN?
-
Hey ho.
LPCTSTR s1 = "Hallo"; LPCTSTR s2 = "Du";
Wie kann ich jetzt s2 an s1 anhängen?(Hallo Du)
Mit strcat hab ich es schon versucht.
-
Ist LPCTSTR nicht einfach ein define für const char*? Wenn ja, dann sollte strcat eigentlich gehen (sofern man es denn richtig macht. Du kannst nicht ein Literal an ein anderes hängen, sondern nur beide Literale nacheinander an eine andere Stelle schreiben). Es hat jedenfalls nichts mit C++ zu tun, aber ich bin nicht sicher, ob zu WinApi oder doch eher C.
-
LPCTSTR steht für Long Pointer to ConsTant STRing, was einem char const* entspricht, wie SeppJ schon gesagt hat.
-
314159265358979 schrieb:
LPCTSTR steht für Long Pointer to ConsTant STRing, was einem char const* entspricht, wie SeppJ schon gesagt hat.
Das ist so nicht ganz korrekt. LPCTSTR steht für Long Pointer to Constant TCHAR STRing (oder so); es handelt sich dabei um einen TCHAR const *. TCHAR ist abhängig von den Projekteinstellungen entweder char oder wchar_t.
Insofern ist
LPCTSTR s1 = "Hallo"; LPCTSTR s2 = "Du";
auch nicht ganz sauber; richtig(er) wäre
LPCTSTR s1 = _T("Hallo"); LPCTSTR s2 = _T("Du");
oder wahlweise
LPCSTR s1 = "Hallo"; LPCSTR s2 = "Du";
Das macht sich allerdings erst bemerkbar, wenn man sein Projekt auf die Verwendung von Unicode einstellt. _T("foo") expandiert hier abhängig von den Projekteinstellungen entweder zu "foo" oder L"foo".
Damit bewegen wir uns jetzt aber wirklich in WinAPI-Besonderheiten.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x, bzw. C++11) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
seldon schrieb:
Damit bewegen wir uns jetzt aber wirklich in WinAPI-Besonderheiten.
Dann geht's jetzt hier weiter. Es gibt doch bestimmt ein passendes strcat-Makro, welches dann entweder nach strcat oder wstrcat (oder wie auch immer das in der WinAPI heißt) expandiert.
-
lstrcat
"Warning Do not use. Consider using StringCchCat instead. See Security Considerations."
-
Ich habs nun mit lstrcat versucht, aber es funkt nicht ;<
-
Fehlerbeschreibung?
-
ich habe es probiert aber der String wird nicht angehängt.
-
Zeig mal Quellcode
-
Wenn es doch const TCHAR * ist, kann ich sicher nichts anhängen.
-
Verwende std::string oder std::wstring!
-
typedef std::basic_string<TCHAR> tstring; LPCTSTR s1 = _T("Hallo"); LPCTSTR s2 = TEXT("Du"); // Alternativer Makroname tstring res = s1; res += s2;