Come scrivere stringhe su file con la funzione fputs

La funzione fputs permette di scrivere una stringa su un file in C, precedentemente aperto con la funzione fopen. Di seguito viene riportata la sua sintassi:


 
int fputs(const char *str, FILE *fp);


dove str è il puntatore all’array di caratteri contenente il testo da scrivere sul file, mentre fp è il puntatore al file su cui scrivere la stringa ottenuto dalla funzione fopen. La funzione fputs restituisce un intero non negativo in caso di successo dell’operazione di scrittura, mentre in caso di errore viene restituito il valore -1, o EOF.

Esempio scrittura di stringa su un file con fputs

Nel seguente esempio useremo la funzione fputs per scrivere una stringa su un file.
Come è stato mostrato anche nelle altre pagine riguardanti i file, per poter operare su un file dobbiamo innanzitutto aprirlo usando la fopen e verificare che il puntatore non sia null. Importante ricordarsi di aprire il file in modalità di scrittura, altrimenti la funzione fputs non potrà scrivere la stringa sul file. A questo punto non resta che chiamare la funzione fputs e inserire come parametri la stringa da scrivere sul file e il puntatore al file. Al termine delle operazioni sul file, chiudiamo quest’ultimo chiamando la funzione fclose.


 
#include <stdio.h>

void main(){
    FILE *fptr;

    fptr = fopen("test.txt", "w");

    if(fptr == NULL){
        printf("Errore durante l'apertura del file!\n");
    } else {
        fputs("Questa è una stringa di esempio.", fptr);
    }

    fclose(fptr);
}

Una volta eseguito il codice se andiamo a visualizzare il contenuto del file troveremo esattamente la stringa che abbiamo specificato nella fputs.
Chiaramente, dato che la fputs restituisce un valore possiamo andare a stampare a schermo tale valore.

 
printf("%d", fputs("Questa è una stringa di esempio.", fptr));

In questo caso ci viene restituito il valore 0. Se aprissimo il file solamente in modalità lettura, la funzione fputs ci restituirebbe il valore -1.

Indice pagine linguaggio C: