Reading a .mat file in c/c++

10 views (last 30 days)
Farik John
Farik John on 17 Dec 2015
Commented: Tharun M on 18 May 2016
I am reading a big .mat file in c/c++. That mat file has nested struct and depth. How can i read this file? Thanks in advance.

Accepted Answer

James Tursa
James Tursa on 17 Dec 2015
Use the mat API functions from the library (e.g., matOpen, matGetVariable, etc):
If you need to convert to/from a MATLAB struct and a C/C++ struct then you will need to copy each and every field element one-by-one (e.g., using mxGetField etc.)
  5 Comments
James Tursa
James Tursa on 22 Dec 2015
What do you specifically mean by "4 depth" mat-file? A mat file simply has variables in it. The variables could be anything. I.e., structs that contain structs that contain structs etc. Is that what you mean by "4 depth", that some of the variables are structs 4 levels deep? If so, then you need to extract that info level-by-level manually in your C/C++ code to work with it (e.g., using mxGetField, followed by another mxGetField, followed by another mxGetField, etc).
Tharun M
Tharun M on 18 May 2016
Can you tell me where to find this api? Unable to find it to download it anywhere

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!