Fgets e pulizia del buffer

di il
1 risposte

Fgets e pulizia del buffer

Sto utilizzando la funzione fgets(buffer, 5, stdin) per leggere una stringa da stdin e mi sono accorto che se l'input supera la lunghezza max di 5 la successiva invocazione di fgets si ricorda di ciò che era stato letto e di conseguenza va in pasto automaticamente a fgets().

E' corretto utiliizare fflush(stdin) per eliminare i caratteri in eccesso nel buffer standard input?

1 Risposte

  • Re: Fgets e pulizia del buffer

    Quello vale solo per i compilatori MS.

    Meglio leggere l'input in un ciclo fino al fine linea

    int c;
      while ((c = getchar()) != '\n' && c != EOF);
Devi accedere o registrarti per scrivere nel forum
1 risposte