how to change datatype of libpointer
10 views (last 30 days)
Show older comments
Hi , I am trying to use Matlab and shared library.
If I have a C function which is like below
void * foo(int n);
It's just like that we get a void type pointer containing n int data , returned from foo .
In C , we can change void type to int or double easily.
But how to change type in Matlab ?
I tried
pointer = calllib(lib,'foo',1000);
pointer.datatype = 'uint16Ptr'; %Changing the 'DataType' property of lib.pointer is not allowed.
0 Comments
Accepted Answer
Guillaume
on 1 Mar 2016
Edited: Guillaume
on 1 Mar 2016
setdatatype(pointer, 'uint16Ptr', n); %assuming the pointer points to an array of n uint16
should work.
2 Comments
vishal sp
on 6 May 2022
iam getting error for this, Check for missing argument or incorrect argument data type in call to
function 'setdatatype'.
Error in getLineColour (line 14)
setdatatype(image,'uint8Ptr',3);
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!