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:
fclose(FILE *stream);
Il seguente programma C
#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()
- ferror()
- clearerr()
- fileno()