Sergio94
Utente Èlite
- Messaggi
- 3,970
- Reazioni
- 354
- Punteggio
- 70
fflush pulisce il buffer dello stream passato come parametro, io sinceramente in questi casi non l'ho mai usato.
In teoria potresti volerlo aggiungere quando stai lavorando con file, quindi prima di chiuderli puoi richiamare la funzione col puntatore al file aperto come parametro, ma anche in quel caso, sinceramente basta fclose per evitare problemi.
Fra l'altro avevo letto tempo fa proprio sull'argomento che fflush non è pensato per essere usato con l'stdin come buffer di destinazione.
Quello che stai dicendo te mi è tornato utile una volta, ma in una situazione diversa: non stavo prendendo stringhe come parametri, ma richiedevo un tasto premuto come input ogni tot tempo, e volevo assicurarmi di leggere ogni volta l'ultimo tasto premuto nell'intervallo trascorso. Ma anche in quel caso, non ho usato fflush proprio per quel motivo, basta fare un ciclo e scartare i caratteri presenti nel buffer finché non ne resta uno solo :)
In teoria potresti volerlo aggiungere quando stai lavorando con file, quindi prima di chiuderli puoi richiamare la funzione col puntatore al file aperto come parametro, ma anche in quel caso, sinceramente basta fclose per evitare problemi.
Fra l'altro avevo letto tempo fa proprio sull'argomento che fflush non è pensato per essere usato con l'stdin come buffer di destinazione.
Quello che stai dicendo te mi è tornato utile una volta, ma in una situazione diversa: non stavo prendendo stringhe come parametri, ma richiedevo un tasto premuto come input ogni tot tempo, e volevo assicurarmi di leggere ogni volta l'ultimo tasto premuto nell'intervallo trascorso. Ma anche in quel caso, non ho usato fflush proprio per quel motivo, basta fare un ciclo e scartare i caratteri presenti nel buffer finché non ne resta uno solo :)