如何将std::string转换为QString

8
我有一个问题:
std::string str("character/test/raw");
qDebug() << QString::fromStdString(str);

输出结果为:

"]AIIIIIIIIIIIIIIIIIIIIIIIIIIIII"

我认为问题出在编码上,但不知道如何解决。请帮忙。

2个回答

9

将字符串转换为const char*,再转换为QString

std::string str("character/test/raw");
QString qstr(str.c_str());
qDebug() << qstr;

6

您的QT编译是否启用了STL兼容选项?

也许您可以使用QString的fromUtf8或其他静态函数。


我已经从qt.nokia.com安装了vc++2008编译的最新版本。 - Andrew
qDebug() << QString::fromUtf8(str.data(), str.size()); 这很有帮助,谢谢。 - Andrew
1
@Andrew QString::fromUtf8( str.c_str() ) 应该就足够了。 - BЈовић

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接