Seite 1 von 1
LPCTSTR in QString umwandeln
Verfasst: 23. November 2010 15:48
von darkshine
Gibt es eine Möglichkeit LPCTSTR in einen QString umzuwandeln?
QString string = QString("\n %1").arg(alterstring.operator LPCTSTR());
Dieses Funktioniert leider nicht

Verfasst: 23. November 2010 16:16
von Christian81
Verfasst: 23. November 2010 16:19
von softwaremaker
LPCTSTR ist folgendermaßen definiert:
Code: Alles auswählen
#ifdef UNICODE
typedef LPCWSTR LPCTSTR; // = CONST WCHAR * (unicode 16-bit)
#else
typedef LPCSTR LPCTSTR; // = CONST CHAR *
#endif
compilierst du als unicode dann würde ich so machen:
QString neu = QString::fromWCharArray( alt );
bei nicht unicode ist es ein char*
QString::fromLocal8Bit oder QString::fromLatin1
gebe aber keine Garantie für Richtigkeit

Verfasst: 24. November 2010 07:52
von darkshine
Es hat geklappt
Vielen vielen Dank
Verfasst: 25. November 2010 14:45
von RHBaum
Es hat geklappt
und wie genau hasst es nu geloest ?
Denk die sauberste Methode waere ne Convertfunktion / oder Template was auch auf Praeprozessorflags hoert
Falls Du mal auf unicode umstellst, willst doch nix im Quelltext ändern ?
Code: Alles auswählen
inline QString convert(LPCTSTR str)
{
#ifdef _UNICODE
return QString::fromWCharArray(str);
#else
return QString::fromAscii(str);
#endif
}
Ciao ...