在C语言中,要读取MAT文件数据,可以使用第三方库matio。以下是一个简单的示例代码,演示了如何使用matio库读取MAT文件数据:
#include#include int main() { // 打开MAT文件 mat_t *matfile = Mat_Open("example.mat", MAT_ACC_RDONLY); if (matfile == NULL) { fprintf(stderr, "Error opening MAT file\n"); return 1; } // 读取变量 matvar_t *matvar = Mat_VarRead(matfile, "my_variable"); if (matvar == NULL) { fprintf(stderr, "Error reading variable\n"); Mat_Close(matfile); return 1; } // 获取变量数据 double *data = https://www.yisu.com/ask/(double *)matvar->data; int num_elements = matvar->nbytes / sizeof(double); // 打印数据 for (int i = 0; i < num_elements; i++) { printf("%f\n", data[i]); } // 释放资源 Mat_VarFree(matvar); Mat_Close(matfile); return 0; }
在上面的示例代码中,首先打开了一个MAT文件,然后读取了名为"my_variable"的变量,并获取了该变量的数据。最后,将数据打印到控制台上,并释放了相应的资源。
需要注意的是,需要在编译时链接matio库。可以在编译命令中添加"-lmatio"参数来链接matio库。