Programmazione.html.it

  Home page

   Guida Base

   Guida al Java

   Guida al C

   Guida al C++

   Guida al Delphi

   Guida a VB .NET

   Guida al Visual Basic

   Guida al Python

   Guida al'UML

  Forum di discussione
  HTML.it


Guida al linguaggio C
  LEZIONE:  Le funzioni fflush e fclose


Infine gli stream, qualunque uso ne sia stato fatto, devono essere prima "puliti" e poi chiusi, questo si può fare comodamente con le funzioni fflush e fclose, formalizzate come segue:

fflush(FILE *stream);
fclose(FILE *stream);

Il seguente programma chiarirà meglio l'uso delle funzioni spiegate per operare su file; infatti simuleremo un input da tastiera che verrà scritto su un file insieme ad un testo predefinito e che verrà appeso al testo già presente nel file:

#include <stdio.h>

int main()
{
   char miastringa[40];
   FILE *stream = fopen("miofile.txt","a");
   printf("Inserisci meno di 40 caratteri -> ");
   fscanf(stdin, "%s", miastringa);
   fprintf(stream, "La mia stringa e' : %s\n", miastringa);
   fflush(stream);
   fclose(stream);
}

Le ultime funzioni che operano su file servono principalmente per eseguire operazioni di debug, le quali sarebbero difficili da implementare in maniera proprietaria:

int feof(FILE *stream);
int ferror(FILE *stream);
void clearerr(FILE *stream);
int fileno(FILE *stream);

il cui uso viene chiarito qui sotto:
  • feof() - Ritorna un valore vero (true) se lo stream raggiunge la fine del file;
  • ferror() - Riporta uno stato di errore dello stream e ritorna vero (true) se ne incontra uno;
  • clearerr() - Cancella le indicazioni di errore per un dato stream;
  • fileno() - Ritorna il descrittore di file intero associato con lo stream.


Torna a inizio pagina