[AYUDA] Imprimir texto con letras cambiadas en C

Iniciado por tio_mauri, 19 Octubre 2016, 23:54 PM

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

tio_mauri

Hola Gente!
Junto con saludarles y deseandoles que se la estén pasando muy bien les comento que tengo un problema con un código en C. El trabajo consiste en abrir un archivo .txt , tomar su contenido (el texto) e imprimir las "letras pares" (partiendo de 0) +2 y las "letras impares" +3. Supongo que debería usar ASCII

el tema es que al hacerlo me genera una "carita" al final de cada línea  

les dejo lo que llevo a ver si pueden orientarme.



void Pant_Encriptar(){
   FILE *Archivo=fopen("archivo.txt","r");
   char c;
   int esPar=1;
     
   
   if(Archivo){
   printf("El texto es:\n");

   while(!feof(Archivo)){        

      if(esPar){
      printf("%c",getc(Archivo)+2);
      esPar=0;
      }else{
      printf("%c",getc(Archivo)+3);
      esPar=1;
      }
      }

EJ: Si en el archivo dice "hola" debría imprimir en pantalla "jrnd". El tema es que ami me imprme "jrnd<emoji de caria>"

Desde ya muchas gracias.


tio_mauri

YA LO SOLUCIONÉ... Resulta que la caria se forma por el EOF qu genera el archivo jeje. Salu2

al fina lo dejé a la rápia así..


while(!feof(Archivo)){       
      c=getc(Archivo);
      if(esPar && c!='\n' && c!=EOF){
      c=c+2;
      esPar=0;
      }else{
      if(!esPar && c!='\n' && c!=EOF){
      c=c+3;
      esPar=1;
      }
      }
      printf("%c",c);
      }