LPCTSTR in QString umwandeln

Alles rund um die Programmierung mit Qt
Antworten
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

LPCTSTR in QString umwandeln

Beitrag 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 :(
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
softwaremaker
Beiträge: 149
Registriert: 1. April 2009 19:25

Beitrag 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 :lol:
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

Beitrag von darkshine »

Es hat geklappt

Vielen vielen Dank
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag 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 ...
Antworten