如何使用mwArray将字符串向量发送到MATLAB编译的DLL?

时间:2016-02-26 13:54:09

标签: c++ matlab matlab-deployment matlab-compiler

mwArray class处的页面描述了构造函数,用于创建字符串数组的mwArray单元格: mwArray(mwSize num_strings, const char** str)。我有一个动态填充的字符串向量。我已将vector<string>转换为char**并尝试使用此数据制作mwArray。但是,构造函数签名为const char**,因此无法将char**转换为const char**

如何将字符串向量设置为mwArray单元并发送到MATLAB DLL?

1 个答案:

答案 0 :(得分:0)

您可以将vector转换为const char **。这是一个这样的功能。

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    int k;

    vector< string > v;

    v.push_back("This is string");
    v.push_back("Another string a bit longer");
    v.push_back("my string");

    const char** AA = convert(v);

    for (k = 0; k < v.size(); k++)
    {
        cout << AA[k] << endl;
    }

    return 0;
}

测试它:

.options