Codificacion de texto plano

Iniciado por ixak1, 20 Junio 2012, 06:54 AM

0 Miembros y 1 Visitante están viendo este tema.

ixak1

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.

ixak1

Solucionado con una condicion en el ciclo de lectura
if(feof(fp) break;

ahora solo cosa de colocar algún algoritmo en la funcion. ;-)

0xDani

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
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

ixak1

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.