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?