codice:
#include<stdio.h> 
#define ELEM 20

void lettura(FILE *output, char *stringa,char **vettore);

int main()
{
    FILE *output;
    char *vettore[ELEM];//vettore di venti stringhe
    char stringa[20];//stringa di venti caratteri
    int i;
    for(i=0;i<ELEM;i++)
    vettore[i]='\0';
    
    if((output=fopen("prova.txt","r"))==NULL)
        printf("Impossibile leggere il file!\n");
    else
        lettura(output,stringa,vettore); 
    fclose(output);
    
     for(i=0;i<ELEM;i++)
     if(vettore[i]!='\0')
         printf("%s\n",vettore[i]);        
 
 system("pause");
 return 0;   
}

void lettura(FILE *output, char *stringa,char **vettore){
     int i;
     for(i=0;!feof(output);i++){
         fscanf(output,"%s\n",stringa);
         vettore[i]=stringa;
     }   
}
Questo programma legge dal file prova.txt le varie stringhe contenute al suo interno e le visualizza.
Questo è il contenuto del file:
codice:
prova
asd
lol
quarta
E questo è l'output:
codice:
prova
asd
lol
quarta
quarta
quarta
quarta
quarta
Premere un tasto per continuare . . .
Come vedete, non mi inizializza il vettore correttamente... Dove sbaglio?