Programa que hace una copia de un fichero, las rutas se pasan a la función main, controla el número de argumentos de main, la apertura de los ficheros, y la sobre escritura en un archivo existente, similar al copy de MS-DOS.
/* http://www.pro-gramas.com */
#include<stdio.h>
void main(int argc,char *argv[])
{
char sino,car;
FILE *f1,*f2;
/* Control del paso de los argumentos de main */
if(argc!=3)
{
printf("\nSintaxis correcta: copia origen destino\n");
exit(-1);
}
/* Control de apertura del fichero origen */
f1=fopen(argv[1],"r");
if (f1==NULL)
{
printf("\nError abriendo archivo origen\n");
exit(-1);
}
/* Control de apertura del fichero destino */
f2=fopen(argv[2],"r");
if (f2==NULL)
{
printf("\nError abriendo archivo destino\n");
exit(-1);
}
/* Control de sobrescritura del archivo destino */
if(fgetc(f2)!=EOF)
{
fclose(f2);
printf("\nEl archivo ya existe, ¨desea sobrescribir? (S/N)\n");
scanf("%c",&sino); if ((sino=='N')||(sino=='n')) exit(-1);
}
f2=fopen(argv[2],"w");
/* Bucle que copia caracter a caracter los ficheros */
do
{
car=fgetc(f1);
fputc(car,f2);
}
while(car!=EOF);
}
Descargar