首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTestLib结果与程序输出不同

QTestLib结果与程序输出不同
EN

Stack Overflow用户
提问于 2013-03-03 00:59:46
回答 1查看 79关注 0票数 0

我有一些简单的代码可以反转QString。

代码语言:javascript
复制
const QString reverse_qstring(const QString& str_in)
{
    QString out;
    Q_FOREACH(const QChar c, str_in) {
        out.push_front(c);
    }
    return out;
}

当我从命令行输入包含非ASCII字符的文本时,结果与预期一致:

代码语言:javascript
复制
"¿como estás?" :  "?sátse omoc¿"

但是,当我进行以下单元测试时(使用QTestLib):

代码语言:javascript
复制
QCOMPARE(reverse_qstring(QString("¿como estás?")), QString("?sátse omoc¿"));

我得到了:

代码语言:javascript
复制
FAIL!  : program::test_qstring() Compared values are not the same
   Actual (reverse_qstring(QString("??como est??s?"))): ?s??tse omoc??
   Expected (QString("?s??tse omoc??")): ?s??tse omoc??

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-03 09:36:18

我想你可以设置Utf8的编解码器:http://doc.qt.io/qt-4.8/qtextcodec.html#setCodecForCStrings

或者,您可以使用以下代码:QString::fromUtf8("?sátse omoc¿")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15177039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档