0

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

QString name_device;

我正在使用具有相似名称的 1x3 Char 变量的 matIO 库读取一个 .mat 文件。谁能告诉我如何将 mat 的 1x3 Char 变量转换为 QString 变量?并且在传输到 QString 之后,我将对其进行处理,在处理之后我想再次将其保存在 .mat 文件中,为此我再次需要从 QString 传输到 1x3 Char。

这对我很有帮助。

谢谢

4

1 回答 1

1

有几种方法可以初始化 QString,包括直接从 char 数组构造它。

要从 QString 返回到 char 数组,一种简单std::string的方法是使用方法QString::toStdString()将其转换为 a ,然后使用方法std::string::c_str()将其转换为 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 的更详细说明。

于 2013-09-05T02:03:09.037 回答