Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » TCHAR, LPCTSTR, tstring...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.11.2004, 15:59 Uhr
pselun



Hallo allerseits!

Ich bin Praktikant ( Informatikstudent ) in einer Firma und muss in einem Programm einige Sachen ändern und erweitern. Leider hat der einzige Programmierer gekündigt und ich bin recht auf mich allein gestellt.
Ich Programmier mit Visual Studio, in C++ mit der WinApi und der Unicode Flag ist gesetzt.
Mir machen zur Zeit die Datentypen probleme. Sprich ich weiß nicht was sie genau bedeuten und wie ich sie ineinander umwandeln kann.
Die msdn Homepage ist mir da leider keine große Hilfe....

Jetzt mal zur Frage:

wie kann ich TCHAR in tstring (oder umgekehrt) umwandeln, oder TCHAR in LPCTSTR.
mit .c_str() kann ich tstring in LPCTSTR umwandeln.
Gibt es überhaupt noch einen "normalen" String?
Kann man die _T() funktion auch auf Variablen anwenden? Und wenn wie?

Eine Hilfe wäre super!!!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.11.2004, 16:06 Uhr
0xdeadbeef
Gott
(Operator)


1. tstring wird vermutlich ein basic_string<TCHAR> sein, also funktioniert die Umwandlung genauso wie char -> string. Was LPCTSTR angeht, das ist ein TCHAR const *, von daher nur über den Umweg eines LPTSTR (TCHAR *).
2. Ja, nennt sich string
3. _T(x) ist keine Fuktion, sondern ein Makro, das je nach gesetzten flags zu x oder L ## x wird. Makros werden vom Präprozessor aufgelöst, also zur Compilezeit (bzw. eigentlich sogar noch ein bisschen davor). Da der Inhalt der Variablen erst zur Laufzeit feststeht, kannst du es auf Variablen also nicht anwenden.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.11.2004, 16:36 Uhr
pselun



Bezeichnet mich als dumm, aber wie kann ich dann einen LPTSTR oder TCHAR in einen tstring umwandeln?

Danke für die Tips!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.11.2004, 20:56 Uhr
0xdeadbeef
Gott
(Operator)


Hum. Wenn ich das richtig interpretiere (ich bin eher UNIX-Mensch, deswegen muss ich grad ein bisschen raten), wahrscheinlich so:

C++:
TCHAR foo[] = _T("Hallo");
TCHAR bar = _T('c');

tstring foo_str(foo); // Explizit den Konstruktor aufrufen
tstring bar_str(1, bar);

// Später geht auch

foo_str = _T("test");
bar_str = _T('d');


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 17.11.2004 um 20:56 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.11.2004, 14:31 Uhr
pselun



Danke dir!

So gehts! Aber hab keine Ahnung wieso er mir mit:


C++:
TCHAR tchar_wert[] = _TEXT("Hallo");
tstring test = new tstring(tchar_wert):



nen Fehler bringt. Aber egal....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.11.2004, 14:47 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ich denke


C++:
tstring test = new tstring(tchar_wert):



soll


C++:
tstring test(tchar_wert);



heißen ...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: