Oppure

Loading
02/05/20 7:31
sara987
buongiorno devo scrivere una funzione ricorsivi per stampare il file contenente una lista di libri in modo iterativo ho fatto cosi:


fd=fopen("array1.txt", "r";);
if( fd==NULL ) {
perror("Errore in apertura del file";);
exit(1);
}

/* lettura linea per linea */
while(1) {
res=fgets(libreria, 15, fd);
if(res==NULL)
break;

if( libreria[0] != '#' )
printf("%s", libreria);
}

/* chiude il file */
fclose(fd);
return 0;
però non riesco a farlo in modo ricorsivo potete aiutarmi?
grazie in anticipo
02/05/20 7:35
Saraciao... non ti basta l'altro forum?
02/05/20 7:54
sara987
pensavo che potevate aiutarmi....alla fine è una domanda diversa
02/05/20 8:01
Sai scrivere una funzione ricorsiva?
Ultima modifica effettuata da 02/05/20 8:03
02/05/20 8:09
sara987
[\code]
void stampaFile(list lista, FILE *fpr)
fdr=fopen("array1.txt", "r";);
if( fdr ==NULL ) {
perror("Errore in apertura del file";);
exit(1);
}
else
return stampaFile
}
/* chiude il file */
fclose(fd);
return 0;
cosi?
[code/]
Ultima modifica effettuata da sara987 02/05/20 8:10
02/05/20 8:14
Usa bene i tag CODE che non si capisce nulla ... mancano parentesi ...

E poi, hai provato il tuo codice?

E che c'entra adesso la lista? Avevi detto che volevi solo stamparlo (a video) ... ora parli di una lista??
Nel primo codice che hai mostrato non c'era nessuna lista ma la semplice visualizzazione del contenuto del file ...

Devi essere chiara ...
Ultima modifica effettuata da 02/05/20 8:17
02/05/20 8:19
sara987
void stampaFile(char *array1) {
    FILE *fd;
 fd=fopen(array1, "r" );
 
    if(fd==NULL) {
    perror("Errore in apertura del file");
    exit(1);
  }

  return LeggiFileRic(fd);
}
ed la funzione :
list LeggiFileRic(FILE *fd) {
 list l;
char libreria[15];
  char *res;
res=fscanf(fd, "%s" , &libreria);
  if(res!=1)
    return NULL;
  else {
    l=malloc(sizeof(struct libro));
      l->next=libreria;
    l->next=LeggiFileRic(fd);
    return l;
  }
}
Ultima modifica effettuata da sara987 02/05/20 8:28
02/05/20 8:26
Se continui a non rispondere ad alcuna domanda, non ti spieghi e spari codice a caso senza una spiegazione e senza tag CODE, questa discussione non va lontano.