www.pudn.com > matlab7.x.rar > matfile.h


#ifndef MATFILE_H 
#define MATFILE_H 
 
#include  
#include  
#include  
#include  
#include "elementtag.h" 
#include "dataelement.h" 
 
// header of a mat file 
typedef struct tagMatHeader 
{ 
	char info[116]; 
	char subOffset[8]; 
	short version; 
	short endian; 
} MatHeader; 
	 
 
class CMatFile 
{ 
	protected: 
	MatHeader matHeader; 
	bool needByteSwap; 
	std::mapdataMap; 
	std::vector dataNames; 
	 
	public: 
	// constructors 
	CMatFile(); 
	CMatFile(std::string const& matfile); 
	~CMatFile(); 
 
	// other methods 
	void ReadFile(std::string const& matfile); 
	void PrintHeader(); 
	std::string GetDataTypeString(int datatype); 
	std::string GetArrayClassSymbol(unsigned int arrayclass); 
	void ParseMatlabArray(std::ifstream& inFile, int numBytes); 
	 
	// return the number of variables 
	int GetNumberOfVariables(){return dataMap.size();} 
	 
	// return the names 
	int GetDataNames(std::vector& names); 
	 
	// get data element object 
	DataElement* GetDataElement(std::string& name); 
	 
}; 
 
#endif