Advertisement
samuelo123

scambialettereriga

May 13th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.44 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define FILE1    "./a.txt"
  6. #define FILERES  "./res.txt"
  7.  
  8. #define STRLEN   128
  9.  
  10. typedef FILE* pfile;
  11. typedef char* pchar;
  12. //il programma funziona con i file a.txt e res.txt come indicato anche nel define !
  13.  
  14. int main(void)
  15.  {pfile pfa,pfres;
  16.   char s[STRLEN],scambio;
  17.   pchar pi,pf;
  18.  
  19.   if((pfa=fopen(FILE1, "r"))==NULL)
  20.    {printf("hai dimenticato il file da aprire malandrino\n");
  21.     return EXIT_FAILURE;
  22.    }
  23.    
  24.   pfres=fopen(FILERES, "w");
  25.  
  26.   do
  27.    {
  28.     fscanf(pfa,"%s",s);
  29.     //faccio un ciclo utile per puntare dove finisce la stringa nella prima parola del file di testo
  30.  
  31.     for(pf=s;*pf;pf++);
  32.  
  33.     pf--;
  34.  
  35.     //printf("%c\n",*pf);
  36.     //per puntare al primo carattere utile non proprio il fine stringa
  37.     //faccio il ciclo for che si interrompe quando pi punta alla fine della stringa s per invertire le parole
  38.     //contenute nella stringa s,รจ utile un terzo char che mi fa da tramite per *pi e *pf, dove punteranno poi?
  39.  
  40.     for(pi=s;pi<=pf;pi++,pf--)
  41.      {
  42.       scambio=*pi;
  43.       *pi=*pf;
  44.       *pf=scambio;
  45.      }
  46.      
  47.     if (!(strcmp(s,"LLUN"))) break;
  48.     fprintf(pfres,"%s\n",s);
  49.     //fscanf(p1,"%s",s);
  50.     //in questo modo riesco a fermare il ciclo quando nel testo incontro la parola NULL invertita
  51.    }
  52.   while((*s)!=0);
  53.  
  54.   fclose(pfa);
  55.   fclose(pfres);
  56.  
  57.   //printf("la stringa invertita รจ %s\n",s);
  58.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement