Hola a todos, desarrolle este codigo, funciona casi bien, solo que me agrega un caracter al final me dice caracter invalido, alguien quiere opinar ?
#include <stdio.h>
#include <stdlib.h>
int entrada_salida(char *n,char *h);
char cambia(char x);
int main(int argc, char** argv) {
entrada_salida("entrada.txt","salida.txt");
return (EXIT_SUCCESS);
}
char cambia(char a){
if(a=='a') return(a+1);
if(a=='b') return(a+2);
if(a=='c') return(a+3);
else return a;
}
int entrada_salida(char *nombre,char *name) {
FILE *fp;
char c;
fp = fopen(nombre, "rb");
FILE *fp2;
// crea un nuevo archivo
fp2=fopen(name,"w");
if(!fp) {
printf("No pude abrir el archivo\n");
return 0;
}
while(!feof(fp)) {
c = fgetc(fp);
fprintf(fp2,"%c",cambia(c));
}
fclose(fp2);
fclose(fp);
return 0;
}
Alguna duda yo siempre conectado.
Solucionado con una condicion en el ciclo de lectura
if(feof(fp) break;
ahora solo cosa de colocar algún algoritmo en la funcion. ;-)
Pues esta bastante bien tu programa, podrias hacer el desencriptador, o se podrian hacer modulos en forma de bibliotecas con las definiciones de la funcion cambiar() para que soporte varios algoritmos.
Saludos ;D
Pues si, básicamente es la idea =), ahora continuaré leyendo sobre criptografia y cosas de esas para meterle uno mejor que el que hice yo.