将TCHAR*转换为QString

kaj*_*jeq 3 qt type-conversion qt5

如何在Qt中转换最简单的方法?

int recordSize = 1000;
TCHAR* qRecord = new TCHAR[recordSize];
//here I get data form other function
//here I try to display
qString() << QString::fromWCharArray(qRecord,recordSize);//gives many ????
printf("%s",qRecord); // this work perfectly
Run Code Online (Sandbox Code Playgroud)

我试过wcstombs,formStdWString nad,但似乎没什么用.谢谢你的帮助

kaj*_*jeq 5

 QString s= (LPSTR)qRecord;
Run Code Online (Sandbox Code Playgroud)

工作.谢谢


Ras*_*uri 5

@kajojeq 不,您的第二个答案不正确。因为当编码设置为 utf16(有时甚至是 utf8)时,s 变量只保存一个字符。正确的转换是:

QString str = QString::fromWCharArray(qrecord)