//テキストファイルをコピーするプログラム #include class CFILE { FILE* fp; int getFileSize(FILE* fp) { fseek(fp, 0, SEEK_END); int fsize = ftell(fp); fseek(fp, 0, SEEK_SET); return fsize; } public: int size; char* data; CFILE(char* name, char* mode) { data=nullptr; //コンストラクタでファイルオープン fp = fopen(name, mode); if(fp==NULL) { printf("%s file error\n", name); } } ~CFILE() { fclose(fp);//デストラクタでファイルをクローズ delete[] data; } void read() { size = getFileSize(fp); data = new char[size]; } void write(char* write_data, int write_size) { fwrite(write_data, sizeof(char), write_size, fp); } }; int main() { char* input = "test.txt"; char* output = "out.txt"; CFILE in(input,"rb");//入力用のファイルクラスのインスタンスを生成 CFILE out(output,"wb");//出力用のファイルクラスのインスタンスを生成 in.read();//読み込み out.write(in.data, in.size);//入力のインスタンス中のデータを出力 return 0; }