QString到String,反之亦然

时间:2013-09-05 01:38:53

标签: c++ string qstring

我正在做一个我必须使用QT软件的项目。我有一个qt变量,如

QString name_device;

我正在使用matIO库读取一个.mat文件,该库具有类似名称的1x3 Char变量。任何人都可以告诉我,如何将mat的1x3 Char变量转换为QString变量?并且在转移到QString之后,我将处理它并且在处理之后我想再次将它保存在.mat文件中,我再次需要从QString转移到1x3 Char。

对我来说非常有帮助。

由于

1 个答案:

答案 0 :(得分:1)

有几种方法可以initialize a QString,包括直接从char数组构建它。

要从QString返回到char数组,一种简单的方法是使用方法QString::toStdString()将其转换为std::string,然后使用方法{{3将其转换为char数组}}

例如:

#include <QString>
#include <cstring>
#include <cassert>

int main()
{
    char str1[] = "abc";
    QString qString = str1;
    char const* str2 = qString.toStdString().c_str();
    assert(std::strcmp(str1, str2) == 0);

    return 0;
}

但请注意,此简单示例假定采用UTF-8编码。请仔细阅读我在此处链接的参考手册,以获取有关QString的更详细说明。