c++拷贝文件-传统处理异常(学习)
#include <iostream>
#include <stdio.h>
using namespace std;
int my_copy(const char* src_file,const char* dest_file)
{
FILE *in_file, *out_file;
in_file = fopen(src_file,"rb");
if (in_file == NULL)
{
return 1;
}
out_file = fopen(dest_file,"wb");
if (out_file==NULL)
{
return 2;
}
char rec[1024];
size_t bytes_in, bytes_out;
while((bytes_in = fread(rec, 1, 1024, in_file))>0)
{
bytes_out = fwrite(rec, 1, bytes_in, out_file);
if (bytes_in !=bytes_out)
{
return 3;
}
}
fflush(out_file);
fclose(out_file);
fclose(in_file);
return 0;
}
int main()
{
int result;
if ((result = my_copy("D:\\File\\11.txt", "D:\\File\\20190608\\1.txt") != 0))
{
switch (result)
{
case 1:
printf("打开源文件出错\n");
break;
case 2:
printf("打开目标文件出错\n");
break;
case 3:
printf("拷贝文件出错\n");
break;
default:
printf("未知错误\n");
break;
}
}
system("pause");
return 0;
}