La funzione fputc in C serve a scrivere un carattere in un file, chiaramente il file è stato precedentemente aperto utilizzando la già citata funzione fopen.
La sintassi della funzione fputc è dunque la seguente:
int fputc(int car, FILE *fp)
Come abbiamo già detto per le altre funzioni, FILE *fp è il puntatore al file restituito dalla funzione fopen, mentre int car è il carattere da scrivere nel file.
La funzione restituisce un intero, che in caso di successo è il carattere scritto, altrimenti la costante EOF.
Esempio di utilizzo di fputc in C
Proponiamo un esempio che permette di leggere i caratteri da tastiera e li scrive in un file finché l’utente non digita il carattere 0.
Quindi apriamo il file carattere.txt in scrittura e controlliamo se il puntatore restituisce il valore NULL e in tal caso diamo il messaggio di errore.
Dopo inseriamo un carattere da tastiera e finché l’utente non inserisce 0 continuiamo ad aggiungere caratteri nel nostro file aperto utilizzando la funzione fputc.
Infine chiudiamo il file con la funzione fclose.
Ecco dunque il listato completo di questo semplice esercizio:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char c;
if((fp=fopen("carattere.txt", "wt"))==NULL) {
printf("Errore nell'apertura del file'");
exit(1);
}
printf("Inserisci caratteri, quando si preme invio si crea una riga nuova");
do {
c=getchar();
fputc(c,fp);
} while(c!='0');
fclose(fp);
return 0;
}
Chiaramente questo era solo un semplice esempio d’uso della funzione fputc, più avanti ne faremo degli altri.
Alcuni link utili
Allocazione dinamica della memoria con malloc
Esercitazione sulle struct in C
Realizzare un menù di scelta in C
Come sommare gli elementi della cornice esterna
Ricerca elementi in una matrice