home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC5.DMS / in.adf / EO-Demos.lha / EasyObjects-Demos / Dateikopie / kopiere.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-13  |  1.0 KB  |  50 lines

  1.  
  2. #include <classes/dos/files.h>
  3. #include <classes/dos/arguments.h>
  4. #include <iostream.h>
  5.  
  6. void main()
  7. {
  8.     try {
  9.  
  10.         cout << "Datei kopieren mit EASY-OBJECTS\n";
  11.  
  12.         ArgsC args("FROM/A,TO/A,QUIET/S,BUFFER/N");
  13.  
  14.         STRPTR kFrom = args.getStr("FROM","");
  15.         STRPTR kTo = args.getStr("TO","");
  16.         BOOL quiet = args.getSwitch("QUIET");
  17.         LONG kBuffer = args.getNumber("BUFFER",10000);
  18.  
  19.         if (!quiet)
  20.             cout << "Kopiere \"" << (char *) kFrom << "\" nach \"" << (char *) kTo << "\"...\n";
  21.  
  22.         BufferC buffer(kBuffer);
  23.  
  24.         FileHandleC fFrom, fTo;
  25.         if (fFrom.open(kFrom,MODE_OLDFILE))
  26.         {
  27.             if (fTo.open(kTo,MODE_NEWFILE))
  28.             {
  29.                 while (fFrom.read(buffer.buffer(),buffer.size()) > 0)
  30.                 {
  31.                     if (fTo.write(buffer.buffer(),buffer.size()) < buffer.size())
  32.                         break;
  33.                 };
  34.             }
  35.             else {
  36.                 if (!quiet)
  37.                     cout << "Kann Datei \"" << (char *) kTo << "\" nicht anlegen.\n";
  38.             };
  39.         }
  40.         else {
  41.             if (!quiet)
  42.                 cout << "Kann Datei \"" << (char *) kFrom << "\" nicht öffnen.\n";
  43.         };
  44.     }
  45.     catch (RDArgsX)
  46.     {
  47.         cout << "falsche Argumente.\n";
  48.     }
  49. }
  50.