QChar in char[] konvertieren.

Alles rund um die Programmierung mit Qt
Antworten
LQ
Beiträge: 46
Registriert: 3. Oktober 2007 13:16

QChar in char[] konvertieren.

Beitrag von LQ »

Ich bin hier gerade dabei, Qt mit der WinAPI zu vermischen. die WinAPI benutze ich um direct X zu initialisieren und Qt um verschiedene Sachen aus der registry auszulesen. solange ich mit int-werten gearbeiet habe, war das auch kein problem. aber jetzt muss ich einen path (zub C:\ein ordner\zwei ordner) auslesen.
wenn ich das mit

Code: Alles auswählen

char path[] = read.value("PATH").toChar;
mache, dann sagt er mir, dass QChar nicht in char[] konvertiert werden kann. wenn ich es mit

Code: Alles auswählen

QChar path = read.value("PATH").toChar;
mache, dann meckert er zwar beim auslesen nicht, aber später beid er Verwendung in der WinAPI heisst es auf einmal, QChar nicht in LPSTR konvertiert werden kann.

wie bekomm ich eine zeichenfolge mit qt aus der registry ausgelesen und (meinetwegen über 20 ecken) in LPSTR konvertiert?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Du willst einen string, keinen char!
Entweder QString::toAscii () oder gleich Unicode und QString::utf16 () benutzen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
LQ
Beiträge: 46
Registriert: 3. Oktober 2007 13:16

Beitrag von LQ »

dann meckert er beim kompilieren zwar nicht, dafür bekomm ich aber komische outputs wie "¤" oder "µ". (kommt ddrauf an ob to.Ascii(); oder to.Utf8() verwendet wurde. utf16 funzt ned, da meckert er.

edit: wenn ich versuche QString direkt in LPSTR zu konvertieren (per toUtf8();), sagt er mit, das QByteArray nicht in LPSTR konvertiert werden kann.
Zuletzt geändert von LQ am 30. Oktober 2007 20:57, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann würde ich mich einfach mal mit Ansi und Unicode beschäftigen... wenn man mit WinAPI arbeitet sollte man sich darüber auf alle Fälle im klaren sein. Das bei toAscii() keine Sonderzeichen funktionieren sollte ja wohl klar sein.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
LQ
Beiträge: 46
Registriert: 3. Oktober 2007 13:16

Beitrag von LQ »

deswegen hab ich es ja mit UTF-8 gemacht. fehlanzeige (siehe edit)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Und was solld as helfen wenn man eine ANSI - Funktion aufruft??
Beschäftige Dich endlich mit ANSI und UNICODE in der WinAPI!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
LQ
Beiträge: 46
Registriert: 3. Oktober 2007 13:16

Beitrag von LQ »

kannst du mir nicht einfach sagen, wie man QString oder QChar in LPSTR konvertiert? (unter UNICODE)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Habe ich doch!
QString::utf16() !
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
LQ
Beiträge: 46
Registriert: 3. Oktober 2007 13:16

Beitrag von LQ »

danke es klappt. (scheiss tippfehler....)
Antworten