Ciao a tutti,
ho bisogno di leggere tutte le linee presenti in un file txt e di salvarle in una array di char in modo da manipolarli in quasiasi modo:

codice:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
 FILE *fp;
 char *Lista;
 int i,cont=0;
 
 
 
 if((fp=fopen("elenco.txt","r"))!=NULL)
 {//inizia a leggere il file
 


  while(!feof(fp))
  {    
   Lista=(char *)malloc(sizeof(char));        
   fscanf(fp, "%s", Lista); 
   cont++; 
  }   
}                                                                   

 fclose(fp);
 
 for(i=0;i<cont;i++)
     printf("%s\n", Lista);
   
    
 
 printf("%d",cont);
 
 getchar();
 getchar();
 
      
}
Però se vado a stampare attraverso il ciclo For.. mi stampa sempre l'ultima linea presente nel file..

Come posso risolvere?