Questo programma legge dal file prova.txt le varie stringhe contenute al suo interno e le visualizza.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 è il contenuto del file:
E questo è l'output:codice:prova asd lol quarta
Come vedete, non mi inizializza il vettore correttamente... Dove sbaglio?codice:prova asd lol quarta quarta quarta quarta quarta Premere un tasto per continuare . . .

Rispondi quotando