Salve,
sapreste per caso dirmi cosa c'è che non va in questo codice? Devo memorizzare dei dati da un file in una struttura dati, ma quando eseguo la printf mi stampa dei caratteri a casaccio..non riesco a capire dove sia l'errore..grazie!!
void apertura_file(){
char **N;
int j=0,i;
char str[4];
int nr=0;
FILE *fp=fopen("toto.txt","r");
if(fp==NULL){
printf("Errore nella apertura del file\n");
exit(1);
}
while(fgets(str,4,fp)!=NULL)
nr++;
rewind(fp);
N = malloc(nr*sizeof(char *));
while(fgets(str,4,fp)!=NULL){
N[j]=malloc((strlen(str))*sizeof(char));
for(i=0;i<(strlen(str));i++)
N[j][i]=str[i];
j++;
}
for(i=0;i<nr;i++)
printf("%s",N[i]);
return;
}