将TCHAR *转换为QString

时间:2013-12-02 11:37:06

标签: 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

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

2 个答案:

答案 0 :(得分:5)

 QString s= (LPSTR)qRecord;

的工作。 感谢

答案 1 :(得分:3)

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

QString str = QString :: fromWCharArray(qrecord)