home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 08_09 / backcopy.c next >
Encoding:
C/C++ Source or Header  |  1988-05-11  |  1.9 KB  |  82 lines

  1. /* ------------------------------------------------- */
  2. /*                   BACKCOPY.C                      */
  3. /*   Routine zum Konvertieren von Dateien, die mit   */
  4. /*            "Backup" gesichert wurden.             */
  5. /*    (c) 1988 by Dieter Hartebrodt & PASCAL Int.    */
  6. /* ------------------------------------------------- */
  7. #include <stdio.h>
  8.  
  9. main(argc,argv)
  10. int argc;
  11. char *argv[];
  12. {
  13.   int ch;
  14.   FILE *fbackup,*fziel;
  15.  
  16.   if(argc < 3)
  17.   {
  18.     printf("Nicht genügend Argumente in der ");
  19.     printf("Kommandozeile\n");
  20.     printf("Aufruf: backcopy <pfad>\<Backupdateiname> ");
  21.     printf("<pfad>\<name>\n");
  22.     exit(0);
  23.   }
  24.  
  25.   if(strcmp(argv[1],argv[2]) == 0)
  26.   {
  27.     printf("Bitte Argumente ('%s' <--> '%s') ");
  28.     printf("überprüfen!\n",argv[1],argv[2]);
  29.     printf("Datei kann nicht in sich selbst kopiert ");
  30.     printf("werden!\n");
  31.     exit(0);
  32.   }
  33.  
  34.   if(!f_exist(argv[1]))
  35.   {
  36.   printf("Backupdatei '%s' existiert nicht!",argv[1]);
  37.   exit(0);
  38.   }
  39.  
  40.   if(!f_exist(argv[2]))
  41.   {
  42.     printf("\nZieldatei '%s' wird angelegt!\n",argv[2]);
  43.     printf("Backupdatei '%s' wird kopiert!\n",argv[1]);
  44.   }
  45.   else
  46.   {
  47.     printf("\nZieldatei '%s' existiert bereits!\n",
  48.                           argv[2]);
  49.     printf("Soll die Backupdatei '%s'angehängt ");
  50.     printf("werden? j/n",argv[1]);
  51.     if(tolower(getch()) != 'j')
  52.       exit(0);
  53.   }
  54.  
  55.   fbackup = fopen(argv[1],"rb");     /*Dateien öffnen*/
  56.   fziel = fopen(argv[2],"ab+");
  57.  
  58.   fseek(fbackup,0x80L,SEEK_SET);     /* Dateizeiger  */
  59.                      /*positionieren */
  60.   while((ch=fgetc(fbackup)) != EOF)  /*  Kopieren    */
  61.     fputc(ch,fziel);
  62.  
  63.   fclose(fbackup);
  64.   fclose(fziel);
  65. }
  66.  
  67. int f_exist(filename)
  68. char *filename;
  69. {
  70.   FILE *fd;
  71.   if((fd = fopen(filename,"r")) == NULL)
  72.     return(0);
  73.   else
  74.   {
  75.     fclose(fd);
  76.     return(1);
  77.   }
  78. }
  79. /* ------------------------------------------------- */
  80. /*               Ende von BACKCOPY.C                 */
  81.  
  82.