#include <stdio.h>


void ayuda() {
	puts("\n\nModo de empleo:\n\tBIN2DB Archivo_Entrada.ext [Archivo_Salida]\nNota: La extension de salida sera automaticamente .INC");
}

void NuevoNombre(char * cadena) {
	while ((*cadena!='\0') && (*cadena!='.'))
		cadena++;
	*cadena='.'; cadena++;
	*cadena='i'; cadena++;
	*cadena='n'; cadena++;
	*cadena='c'; cadena++;
	*cadena='\0';
}


void AsignaCad(char * destino, char * fuente) {
	do {
		*destino = *fuente;
		destino++;
	} while (*(fuente++) != '\0');
}


main(int argc, char ** argv) {

	int car,auxi;
	int conta=0;
	char aux[64];

	FILE * f;
	FILE * destino;

	if (!((argc==2) || (argc==3))) {
		ayuda();
		goto Fin;
	}

	if ( (f=fopen(argv[1],"rb")) == NULL) {
		printf("No se puede abrir %s",argv[1]);
		goto Fin;
	}

	AsignaCad(aux,argv[argc-1]);
	NuevoNombre(aux);
  //	puts(aux);

	if ( (destino=fopen(aux,"rt")) != NULL) {
		printf("Sobreescribir %s (s/n)?",aux);
		auxi = getchar();
		if ((auxi != 's') && (auxi != 'S')){
			puts("Operacion cancelada");
			goto Fin;
		}
		else
			fclose(destino);
	}

	if ( (destino=fopen(aux,"wt")) == NULL) {
		printf("No se puede abrir %s",aux);
	}

	printf("\nGenerando %s...",aux);

	car=fgetc(f);
	fprintf(destino,"db %d",car);
	car=fgetc(f);
	while (car!=-1) {
		conta++;
		if (conta==200) {
			fprintf(destino,"\ndb %d",car);
			conta=0;
		}
		else {
			fprintf(destino,",%d",car);
		}
		car=fgetc(f);
	}

Fin:
return 0;
}

