c++文件 读写类

  • Post author:
  • Post category:其他


//这是一个自己写的关于读写操作的类,思路:先初始化路径,将数组长度写进文件头,然后再写文件主内容。这个类是用于哈夫曼编码,同时也可以用于其他

//以后只需将这个类实例化,就不用每次都要写那些读写操作,那些操作的代码两天不用就会忘记了~

//制作者:百变星狼_wolf杰

//日期:2012.12.6

#define MAX 256


template <class T>

class fileOperate

{


private:

char path[MAX];//路径

//T typearray;//操作数组

//int len;//数组长度

int temp[2];//缓存数组,储存长度

public:

fileOperate(){}//默认构造函数

fileOperate(const char way[]);//传值函数,传入path

~fileOperate(){}//默认析构函数

void writeIn(T w[],int len);//写入函数

void readFrom(T w[],int &testLen);//读出函数

};


template<class T>

fileOperate<T>::fileOperate(const char way[])

{


strcpy(path,way);//初始化文件路径

};


template<class T>

void fileOperate<T>::writeIn(T w[],int len)

{


FILE *file = fopen(path ,”w”);

temp[0] = len;

fwrite(temp,sizeof(int),1,file);//将长度写进文件头

fwrite(w,sizeof(T),len,file);//写进主要内容

fclose(file);

};

template<class T>

void fileOperate<T>::readFrom(T w[],int &testLen)//读出函数

{


FILE *file = fopen(path,”r”);

fread(temp,sizeof(int),1,file);

int len = temp[0];

fread(w,sizeof(T),len,file);//读主体内容

testLen = len;//返回数组长度

fclose(file);

};



版权声明:本文为starwolf_jie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。