C++文件复制与提取

假设有一个文件“file1.txt”已经存在,编写程序创建文件“file2.txt”,并将文件“file1.txt”中的内容复制到文件“file2.txt”中。

用C++写,并允许。

代码如下:如有帮助,请采纳一下,谢谢。

#include <iostream>
using namespace std;
//返回的是存储文件的缓冲区,lSize是文件大小
char* textFileRead(char* filename,long &lSize)
{
	char* text;
	FILE *fp = fopen(filename,"r");
	if(!(fp))
		return 0;
	fseek(fp,0,SEEK_END);
	lSize = ftell(fp);
	// 用完后需要将内存free掉
	text=new char(lSize+1);
	rewind(fp); 
	lSize = fread(text,sizeof(char),lSize,fp);
	text[lSize] = '\0';
	return text;
}

int main()
{
	long size = 0;
	char* buf = textFileRead("file1.txt",size);
	if (buf == 0)
	{
		cout << "file open error!" << endl;
		return 0;
	}
	//
	FILE * fp = fopen("file2.txt","w");
	if (!fp)
	{
		cout << "file open error!" << endl;
		return 0;
	}
	fwrite(buf,1,size,fp);
	fclose(fp);
	free(buf);
	return 0;
}