Buenas, y disculpas por mi pesadez e ignorancia, pero bueno, así es como se aprende :/

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 :)
gracias bro!
* _*
<\--♥
_/|_ "Para crear enemigos no es necesario declarar la guerra, es sólo decir lo que piensa."
Pink escribió:aunque no es lo que pides podrias usar CopyFile.

Saludos
¿Sería más sencillo, no?

Pero lo que quiero es saber porque no me funciona ese código y como solucionarlo :/
Responder

Volver a “C/C++”