Seite 1 von 1

[gelöst] TChar[] und QString

Verfasst: 24. Mai 2007 16:19
von patrikD
Hallo zusammen,

ich bin langsam am verzweifeln :(
ich möchte über die windowsapi die readfile funktion nutzen um eine pipe auszulesen. die funktion erwartet u.a. als parameter einen array vom typ TChar (also den 2 Byte wchar_t). soweit so gut, es funktioniert auch soweit, dass ich die richtige anzahl an bytes in den array bekomme und der buffer auch mit unterschiedlichen werten gefüllt wird, aber ich bekomme diesen array nicht in einen qstring :(

Code: Alles auswählen

	TCHAR chRequest[BUFSIZE]; 
....	readSuccess = ReadFile(pipeHndl,        
					chRequest,    // buffer to receive data 
					BUFSIZE*sizeof(TCHAR), // size of buffer 
					&cbBytesRead, // number of bytes read 
					NULL);        
...
QString s = QString::fromWCharArray(chRequest, cbBytesRead / sizeof(TCHAR)); 
Hab schon x konvertierungen versucht aber ich bekomm immer nur müll (das quadrat und andere unlesbare zeichen)in den string.
weiss jemand eine lösung?

danke,
patrik

Verfasst: 24. Mai 2007 16:37
von Christian81
QString::fromUcs2() (Qt3) bzw. QString::fromUtf16() (Qt4)

Verfasst: 25. Mai 2007 12:39
von patrikD
danke :)

die Lösung mit QString::fromWCharArray hat dann doch funktioniert. Das Problem war dass ich zum Testen die Pipe von der Kommandozeile gefüllt habe und die die Zeichen natürlich nicht als WChar sondern Char geschickt hat....

MfG
Patrik

PS: wie setzt man seinen Thread aus "gelöst"? oder macht das der admin?

Verfasst: 25. Mai 2007 12:43
von Christian81
patrikD hat geschrieben: wie setzt man seinen Thread aus "gelöst"? oder macht das der admin?
Einfach den Titel des ersten Beitrags editieren