数组到二进制格式

时间:2017-01-22 16:17:03

标签: c arrays matlab matrix

我将实现一个函数,它以三种格式将三个数组中的一个导出到二进制.mat文件中。 .mat文件必须能够由MATLAB加载。

int exportMAT(const char *filename, const char var, const double result[], int length)
{

typedef struct
{
    uint32_t type;          
    uint32_t mrows;
    uint32_t ncols;
    uint32_t imagf;
    uint32_t namelen;

} Fmatrix;

Fmatrix header;

header.type=0;          
header.mrows=length;    
header.ncols=1;         
header.imagf=0;         
header.namelen=2;       

FILE *fileptr;                  
fileptr=fopen(filename, "w");   

char temp ='\0';            

//我理解代码,但这对我来说有点不清楚。在下面的4行中会发生什么,你能告诉我括号里面的内容吗?

fwrite(&header, sizeof(Fmatrix),1, filptr);     
fwrite(&var, sizeof(char), 1, filptr);          
fwrite(&temp, sizeof(char), 1, filptr);         
fwrite(result, sizeof(dubble), length, filptr); 


fclose(fileptr);        
return length;          

}

//感谢您的帮助!

0 个答案:

没有答案