/* Class Cdreader 2002 Anton Kulchitsky implementation ver. 1.01 see file dreader.h for details */ #include #include #include #include #include using namespace std; #include "dreader.h" //local function to define size of file. Return 0 for mistake int filesize(const char* name) { FILE* F = fopen(name,"r"); if(F==NULL) return 0; fseek(F,0,SEEK_END); //set position to the end of file int length = ftell(F); //define number of position=> this is its length fclose(F); //close file return length; //we found it } Cdreader::Cdreader() { //file must be opened by Cdreader.open() if you use this constructor } Cdreader::Cdreader(const char* filename) { open(filename); } Cdreader::~Cdreader() { delete []buffer; //never forget? delete []group; } //open and reading file void Cdreader::open(const char* filename) { //creating and reading buffer for file content int length = filesize(filename); //filesize (already checked for overflow) if(length==0){ ErrorMsg(BAD_FILE,filename); exit(1); } //allocate memory for the buffer; buffer = new char[length+1]; group = new char[length+1]; //reading file in buffer (skip all 0 characters) ifstream In(filename); char ch; for(int i=0;i