Haciendo un ejercicio resuelto, escribo el código, y me da error, cuando lo compilo, me sale por pantalla el printf que dice : Error. La instrucción es: fichero_origen fichero_destino.
No se porque me sale eso. Es más, estoy leyendo e intentando comprender el código, y no le encuentro ni pies ni cabeza, no lo entiendo para nada :/
// Copia de un fichero a otro con otro nombre
#include <stdio.h>
main(argc,argv)
int argc;
char *argv[];
{
FILE *origen, *destino;
char car, aux1, aux2;
int i=0, igu=1;
if(argc!=3){
printf("Error. La instruccion es:\ncopia fichero_origen fichero_destino\n");
return;
}
do{
aux1=*(argv[1]+i);
aux2=*(argv[2]+i);
if(aux1 != aux2){
igu=0;
break;
}
i++;
}while(aux1 != '\0' || aux2 != '\0');
if(igu==1){
printf("El fichero destino es el mismo que el fichero origen\n");
return;
}
origen=fopen(argv[1],"r");
destino=fopen(argv[2],"w");
if(origen==NULL || destino==NULL){
printf("El fichero de origen no existe o no hay espacio en el disco\n");
return;
}
while((car=getc(origen)) != EOF) putc(car,destino);
fclose(origen);
fclose(destino);
}
Gracias de antemano :)