OK, thanks for checking.
I've attached a test file from Octave with various data types. "s" is the string, "es" is an empty string, the rest are various scalars and row/column vectors and a matrix.
Hmm. Looks like matio can't read HDF5 files created by Octave either :( I guess Octave does something different to MATLAB. I'll stick to the V5 file format, since that seems to work OK in both directions. I did notice that in Mat_VarWriteChar73 (mat73.c), 8-bit strings are written out as MAT_C_UINT16. Is that deliberate? Cheers.
I've been writing some code using matio to create MATLAB files, which I am reading into GNU Octave. One part of the code is creating a char array to hold a string. When I write this out to a file created with MAT_FT_MAT5, everything is OK, and I can read the file into Octave fine. If I create the file with MAT_FT_MAT73, then when I import it into Octave, the data is wrong, and is imported as a uint16 array instead of a char array. Here's the code: mat_ft ver=MAT_FT_MAT73; mat_t* file=Mat_CreateVer(output_filename,NULL,ver);...
I was having a discussion with one of the gcc standard library developers last month,...
Generated identifiers contain double underscores which are reserved names