ファイルをある場所にコピーする関数を作成したいと考えています。64kb のブロックで読み込むのが有益でしょうか? それとも、バッファを動的に割り当てる必要がありますか? または、system() 関数を使用してコマンド ラインで実行する必要がありますか?
私はこのように意味します:
int copy_file(const char *source, const char *dest)
{
FILE *fsource, *fdest;
int readSize;
unsigned char buffer[64*1024]; //64kb in size
fsource = fopen(source, "rb");
fdest = fopen(dest, "wb");
if(!fsource)
return 0;
if(!fdest)
{
fclose(fsource);
return 0;
}
while(1)
{
readSize = fread(buffer, 1, sizeof(buffer), fsource);
if(!readSize)
break;
fwrite(buffer, 1, readSize, fdest);
}
fclose(fsource);
fclose(fdest);
return 1;
}