C语言实现文件复制

     使用C语言来复制一个文件(包括各种类型),主流的做法有2种:1.自定义函数 2.调用系统API 。本文介绍自定义函数的方法。

     文件类型可以粗略分类为ASCII类型和二进制类型,且大多数为二进制类型,因此本文采用 fread() 和 fwrite()。

     闲话不多说,上代码:

// C语言实现文件复制
// srcFile : 源文件
// destFile: 目标文件
bool copyFile( const char * srcFile , const char * destFile )
{
   FILE * src , * dst ;
   if( NULL == srcFile || NULL == destFile )
   {
      cout<<"copyFile src or dest file null !"<<endl;
      return false;
   }
   src = fopen( srcFile , "rb" );
   dst = fopen( destFile, "wb" );
   if( NULL == src || NULL == dst )
   {
      cout<<"copyFile fopen failed !"<<endl;
      return false;
   } 
   // copy file
   char buf;
   while( fread( &buf , sizeof(char) , 1 , src ) != 0 )
   {
      // write to dst file !
      fwrite( &buf , sizeof(char) , 1 , dst );
   }
   // don't forget to close the files
   fclose( src );
   fclose( dst );
   return true;
}

    经过测试,该函数对于ASCII文件和二进制文件都有效,并兼容 Windows 和 Linux。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值