Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 39 di 47
  • livello principiante
Indice lezioni

Le funzioni fflush e fclose

Le funzioni per chiudere e pulire uno stream di file
Le funzioni per chiudere e pulire uno stream di file
Link copiato negli appunti

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 C 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' : %sn", 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.

Ti consigliamo anche