Σειριακή επεξεργασία αρχείων ASCII στη C

Η σειριακή επεξεργασία αρχείων που περιέχουν χαρακτήρες ASCII στη μορφή που τους διαβάζουν και γράφουν οι άνθρωποι γίνεται με βάση τις παρακάτω συναρτήσεις:
fprintf(FILE *stream, char *format, ...)
Τυπώνει φορμαρισμένα σε αρχείο.
fscanf(FILE *stream, char *format, ...)
Διαβάζει φορμαρισμένα από αρχείο.
fgetc(FILE *stream)
Διαβάζει έναν χαρακτήρα από αρχείο.
fputc(char c, FILE *stream)
Γράφει έναν χαρακτήρα σε αρχείο.
feof(FILE *stream)
Επιστρέφει αληθές αν έχει ανιχνευτεί το τέλος του αρχείου.
Οι παραπάνω συναρτήσεις είναι αντίστοιχες με τις printf, scanf, getchar, putchar, μόνο που αντί για την είσοδο και έξοδο του προγράμματος δουλεύουν σε αρχεία.

Το παρακάτω πρόγραμμα γράφει στο αρχείο codes.txt τους χαρακτήρες ASCII που διαβάζονται και τους αντίστοιχους κωδικούς τους:

#include <stdio.h>

main()
{
	FILE *f;
	int i;

	f = fopen("codes.txt", "w");
	for (i = ' '; i < '~'; i++)
		fprintf(f, "Character: %c  code:%d\n", i, i);
	fclose(f);
}

Σημείωση: οι συναρτήσεις getc και putc είναι γρήγορες εκδόσεις των gfetc και fputc.