#include <stdio.h>
#ifndef __cplusplus
typedef enum { false, true } bool;
#endif
bool CopyFile(const char *source, const char *target)
{
char buffer[1024];
long bytesread;
bool result;
FILE *fpSrc = fopen(source, "rb");
FILE *fpTrg;
if(!fpSrc)
return false;
fpTrg = fopen(target, "wb");
if(!fpTrg)
{
fclose(fpSrc);
return false;
}
result = true;
while(!feof(fpSrc))
{
bytesread = fread(buffer, 1, sizeof(buffer), fpSrc);
if(bytesread)
if(fwrite(buffer, 1, bytesread, fpTrg) != bytesread)
{
result = false;
break;
}
}
fclose(fpSrc);
fclose(fpTrg);
return result;
}
void main(int ArgC, char *ArgV[])
{
if(ArgC > 2)
if(!CopyFile(ArgV[1], ArgV[2]))
perror("CopyFile");
else
puts("Arquivo copiado");
}