matlab 字符串 参数传递,C++和MATLAB混合编程字符串传递问题

阅读: 评论:0

matlab 字符串 参数传递,C++和MATLAB混合编程字符串传递问题

matlab 字符串 参数传递,C++和MATLAB混合编程字符串传递问题

呃,这个问题搞了有段时间,今天解决掉了。

先上给我启示的MATLAB里面带的例子:

Example

mxChar data[6] = {'H', 'e' , `l' , 'l' , 'o' , ''};

mxChar data_copy[6] ;

mwArray a(1, 6, mxCHAR_CLASS);

a.SetCharData(data, 6);

a.GetCharData(data_copy, 6);

字符串的传递和数字的传递有点不同,网上有很多穿数字的,我在这里就不介绍了。然后上我写的一段小代码。

​mxChar output[100];

for (int i = 0; i

{

output[i] = (mxChar)s_output.GetAt(i);

}

mwArray mwOutput(1, s_output.GetLength(), mxCHAR_CLASS);

mwOutput.SetCharData(output, s_output.GetLength());

我是在MFC下弄的,s_output是一个CStrng类型的字符串,应该普通的字符串也可以搞,但是在转换的时候一定要用强制类型转换,要不会转换不成功。上面的代码应该很明白了,希望大家少走弯路。​

继续写一下mwArry转换为CString类型,如果要从MATLAB里面传递结果到c++中可以用到:

​mwString output_s

= result.ToString();

CString output_c = (CString)output_s;

就这么简单,然后就可以输出结果了。

本文发布于:2024-02-04 22:23:02,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170717752660184.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字符串   参数   matlab   MATLAB
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23