此示例显示了如何创建MATLAB®单元格数组的字符向量,MLStringArray.
,来自输出getListofstrings.
功能。
加载shrlibsample.
图书馆。
如果不是(libisloaded('shllibsample'))AddPath(FullFile(MatlaBroot,'extern'那“例子”那'shrlib'))LoadLibrary('shllibsample')结束
打电话给getListofstrings.
函数创建字符向量数组。该函数返回指向数组的指针。
ptr = calllib('shllibsample'那'getlistofstrings');班级(PTR)
ans ='lib.pointer'
创建索引变量以迭代阵列。使用PtrIndex.
对于函数返回的数组和索引
对于matlab阵列。
Ptrindex = PTR;索引= 1;
创建字符向量的单元格数组MLStringArray.
。复制输出getListofstrings.
到小区阵列。
%读取直到列表结尾(null)而irchar(ptrindex.value {1})mlstringArray {index} = ptrindex.value {1};%增量指针ptrindex = ptrindex + 1;%递增数组索引索引=索引+ 1;结束
查看单元格数组的内容。
MLStringArray.
mlstringarray =1x4细胞{'String 1'} {'String 2'} {0x0 char} {'last string'}
此示例显示如何使用指针算法访问结构的元素。该示例创建了一个Matlab结构,基于c_struct.
定义在Shrlibsample.h.
标题文件。
加载定义。
如果不是(libisloaded('shllibsample'))AddPath(FullFile(MatlaBroot,'extern'那“例子”那'shrlib'))LoadLibrary('shllibsample')结束
创建MATLAB结构。
s = struct('p1',{1,2,3},'p2',{1.1,2.2,3.3},'p3',{0});
创建指向结构的指针。
sptr = libpointer('c_struct',s);
读取第一个元素的值。
v1 = sptr.value.
v1 =结构与字段:P1:1 P2:1 P3:0
通过递增指针读取下一个元素的值。
SPTR = SPTR + 1;v2 = sptr.value.
v2 =结构与字段:P1:2 P2:2 P3:0