#include <stdio.h>
#include <stdlib.h>
#define BUF_SIZE 1024
char buf[BUF_SIZE + 1];
int main(int argc, char * argv[])
{
if(argc != 3)
{
printf("Usage : %s <src_file> <dest_file>\n", argv[0]);
return EXIT_FAILURE;
}
FILE * in_fp;
FILE * out_fp;
char * in_file_name = argv[1];
char * out_file_name = argv[2];
size_t count;
if((in_fp = fopen(in_file_name, "rb")) == NULL)
{
perror("fopen");
return EXIT_SUCCESS;
}
if((out_fp = fopen(out_file_name, "wb+")) == NULL)
{
perror("fopen");
return EXIT_SUCCESS;
}
while((count = fread(buf, 1, BUF_SIZE, in_fp)) > 0)
{
if(fwrite(buf, 1, count, out_fp) != count)
{
perror("fwrite");
return EXIT_FAILURE;
}
}
if(fclose(in_fp) != 0)
{
perror("fclose");
return EXIT_FAILURE;
}
if(fclose(out_fp) != 0)
{
perror("fclose");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}