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

Indice argomenti linguaggio C

La funzione fopen

La funzione fclose

Funzione fprintf

Allocazione dinamica della memoria con malloc

Strutture in C

Typedef struct in C

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Strutture complesse in C

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Tavola pitagorica in C

Array multidimensionali

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C