Accessing struct using C library always NULL
이전 댓글 표시
Hi,
I am using the Matlab C interface to extract data out of a .mat file containing a 1x50 struct. I am able to do the following successfully:
- Pull structure using matGetNextVariableInfo. Also fills the char* with the name, which matches my struct variable
- Get the correct size of the struct by using mxGetNumberOfElements and mxGetNumberOfFields
- Get the correct first column name by using mxGetFieldNameByNumber
- Get the first field using mxGetField
- Retrieve the correct class name (in my case, a double) from mxGetClassName
After calling mxGetField, I retrieve a non-null pointer to a mxArray, I then try to call mxGetPr on this - but it always ends up with a NULL result. I also tried mxGetData to retrieve a void*, also NULL. I am able to verify that it is not empty by using mxIsEmpty. If I change the row index to one with an empty field, mxIsEmpty returns as expected. It seems like I have everything set up correctly, but nothing I do works for retrieving the actual field data.
Any help is appreciated. Thanks!
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!