/*
TITOLO: COPY - Copia il contenuto di un file in un nuovo file
DESCRIZIONE: Copio il contenuto di un file all'interno di un nuovo file
che creo appositamente (inserisco il nome del file da analizzare e determino
il nome del file in cui voglio che siano destinati i dati).
Conservo senza distruggere il file che voglio copiare.

DATA di CREAZIONE: 13 Ottobre 2008
AUTORE: Farinelli Agnese e Hamze Ahmad

ULTIMA MODIFICA: 5 Dicembre 2008
*/

#include <stdio.h>
#include <stdlib.h>
main(int argc, char *argv[])  //con argv[] posso inserire direttamente da shell il nome del file da copiare.
{
      int c;
      FILE *f_in;
      FILE *f_out;

      if (argc==1){  //Inserisco un controllo qual'ora avessi dimenticato la modalità di inserimento dei file
	  printf("\n************** COPY ***************\n");
	  printf("*Inserire i dati nel modo corretto*\n");
	  printf("./copy.x [NOME file originale] [NOME file copia]\n");
	  printf("***********************************\n\n");
	  exit(0);
	}

      f_in=fopen(argv[1],"r");  //apro il file che ho scelto di copiare
      f_out=fopen(argv[2],"w");  //creo un secondo file con il nome che ho inserito da shell: sarà la copia del file che ho deciso di replicare

      while ((c=getc(f_in))!=EOF){  //copio il primo file nel secondo
            putc(c,f_out);
            }

      printf("\n************** COPY ***************\n\n");
      printf("Il file '%s' è stato copiato correttamente nel file '%s'.\n",argv[1],argv[2]);
      printf("\n***********************************\n\n");

      fclose(f_in);  //chiudo il primo file copiato
      fclose(f_out);  //chiudo la copia
      
      
}
