C++ 读取一个文件复制到另一个文件

int main(int argc, char* argv[])		
{
	
	// 定义一个文件指针
	FILE *fp1;
	FILE *fp2 = NULL;
	int len;
	char* ptr;

	// 打开文件(读)
	fp1 = fopen("C:\\project\\ipmsg.exe","rb");
	fp2 = fopen("C:\\project\\ipmsg2.exe","wb");
	if (fp1 == NULL)
    {
        perror("打开文件错误");
        return(-1);
    }
	//获取大小
    fseek(fp1, 0, SEEK_END);
    len = ftell(fp1);
    printf("ipmsg.exe 的总大小 = %d 字节\n", len);
	//申请内存
	ptr = (char *)malloc(len);	
	if(ptr == NULL)								
	{										
		return 0;								
	}										
	//初始化分配的内存空间										
	memset(ptr,0,len);	
	 fseek(fp1, 0, SEEK_SET);
	if(ptr != NULL)
	{
		//读取数据到file1 ptr
		fread(ptr,len,1,fp1);
		//写入数据到新的文件
		fwrite(ptr,len,1,fp2); 
	}
	// 返回内存编号
	int addr = (int)ptr;
	printf("%x",ptr);
								
	
	//使用完毕 释放申请的堆空间										
	free(ptr);										
	
	//将指针设置为NULL										
	ptr = NULL;		
	fclose(fp1);




	return 0;	
}		

发表评论 / Comment

用心评论~

金玉良言 / Appraise
zllLV 1
2021-08-04 11:39
Hi,帅哥你好啊,看了你写的文章觉得特别棒,想问下你考虑微步在线的工作机会嘛~~~~如果你考虑的话,我留了邮箱,能否给我发一份简历呀~~~谢谢~~~我的邮箱是zhaolinlin[#]threatbook.cn
头像
admin站长已认证
2021-10-30 12:06
@zll:一直没看见,暂时不考虑,感谢!