您的位置:首页 >> 编程开发 >> Visual C++ >> 文件系统 >> 正文
文件系统 RSS
 

关于文件复制的程序代码(C++Builder

http://www.rdxx.com 02年02月04日 12:12 Blog 我要投稿

 

这是一个关于文件拷贝的例程,希望有人可以用上,不用再摸索了。

#include <stdio.h>
#include <sys\stat.h>

bool ForceExist;
const bufsize = 409600; //基本单位为400K

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
   Edit1->Text = ExtractFilePath(ParamStr(0));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if (OpenDialog1->Execute())
   {
      AnsiString fFile = OpenDialog1->FileName;
      AnsiString tFile = Edit1->Text+ExtractFileName(fFile);
      if (CopyFile(fFile,tFile))
      {

             //复制成功....
      }
      else {
         ForceExist = false;
         DeleteFile(tFile);
      }
   }
}
//---------------------------------------------------------------------------
bool TForm1::CopyFile(AnsiString FromFile,AnsiString ToFile)
{
   bool result(false);
   FILE *FromF,*ToF;
   int NumRead,NumWritten;
   /* BUFSIZ is defined in stdio.h */
   char buf[bufsize];

   Screen->Cursor = crHourGlass;
   ToF = fopen(ToFile.c_str(),"wb");
   FromF = fopen(FromFile.c_str(),"rb");
   try
   {
      StartTime = Now();
      struct stat statbuf;
      /* get information about the file */
      fstat(fileno(FromF), &statbuf);
      int ModVal = statbuf.st_size % bufsize;
      int MaxVal = statbuf.st_size / bufsize;
      if (ModVal) MaxVal++;
      ProgressBar1->Max = MaxVal;
      float fSize = statbuf.st_size;
      TVarRec args[2] = {0,fSize};
      lblFileSize->Caption = Format("文件大小: %.*n字节", args, 1);
      lblStartTime->Caption = "开始时间: "+FormatDateTime("hh:nn:ss",StartTime);

      ForceExist = false;
      ProgressBar1->Position = 0;
      do
      {
         if (ProgressBar1->Position<MaxVal-1)
         {
            NumRead = fread(&buf, sizeof(buf), 1, FromF);   // read the data
            NumWritten = fwrite(&buf, sizeof(buf), 1, ToF); // Write the data

共2页  第1页 第2页


 
 
标签: 文件复制 , 程序代码 , C++Builder , 文件 , UI , 程序 , 代码 , C++ , 复制 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站