我正在做一个必须使用 QT 软件的项目。我有一个 qt 变量,例如
QString name_device;
我正在使用具有相似名称的 1x3 Char 变量的 matIO 库读取一个 .mat 文件。谁能告诉我如何将 mat 的 1x3 Char 变量转换为 QString 变量?并且在传输到 QString 之后,我将对其进行处理,在处理之后我想再次将其保存在 .mat 文件中,为此我再次需要从 QString 传输到 1x3 Char。
这对我很有帮助。
谢谢
有几种方法可以初始化 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 的更详细说明。