/********************************************************************************************* Description: 提供基本matlab读写数据功能 Copyright : All right reserved by ZheYuan.BJ Author : Zhang Zhonghai Date : 2023/09/18 adfasdf ***********************************************************************************************/ #ifndef __MATLAB_IO_H #define __MATLAB_IO_H #include #include #include using namespace std; #define STRING_BUF_SIZE 204800 typedef double T; /* 注意参数的区别,读取时候直接传递文件路径名,写入的时候需要提供文件指针, 这是因为写入的时候可能一次性需要写入多个矩阵 */ /* 读取字符串矩阵 */ bool ReadMtxString(const string& filePath, const string& mtxName, vector& vStr, int* pRowNum, int* pColNum); /* 从mat文件中读取给定名称的矩阵数据,并获取矩阵的行列数值 */ T* ReadMtxDouble(const string& filePath, const string& mtxName, int* pRowNum, int* pColNum); /* 将数据写入mat文件中,用给定的名称命名 */ bool SaveMtxDouble(T* src, MATFile* pMatFile, string matrixName, int rowNum, int colNum); /* 读取结构体中的字符串数据 */ bool ReadChildString2D(const string& filePath, const string& parentName, const string& selfName, vector >& vvStr); /* 读取结构体中的二维double矩阵(一维的cell,每个cell又有一层cell,每个cell是一维double数组)*/ bool ReadChildDouble2D(const string& filePath, const string& parentName, const string& selfName, vector >& vvDouble); #endif