User Tools

Site Tools


it:informatica:linguaggio_c:scrittura_file_1
Return to Home page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

it:informatica:linguaggio_c:scrittura_file_1 [2019/02/26 14:35] (current)
Line 1: Line 1:
 +====== Scrittura file (Esempio 1) ======
 +**Concetti:​**\\
  
 +Funzioni di apertura, chiusura e scrittura su file.
 +
 +**Testo:​**\\
 +Dopo aver riempito un vettore di strutture (i cui elementi della struttura sono un vettore di caratteri contenente il nome di uno studente, una variabile di tipo ''​unsigned int''​ contenente la matricola dello studente ed una variabile di tipo ''​float''​ contenente la sua media):
 +  * Aprire in scrittura un file di nome "''​out.txt''"​ per salvarci i dati contenuti nel vettore di strutture
 +  * Scrivere nel file il contenuto del vettore di strutture precedentemente riempito (un record/​elemento del vettore per ogni riga del file)
 +  * Chiudere il file
 +
 +**Soluzione:​**\\
 +<file C scrittura_file_1.c>​
 +/* Esempio di utilizzo delle funzioni di scrittura su file */
 +
 +#include <​stdio.h>​
 +#include <​stdlib.h>​
 +#include <​string.h>​
 +
 +#define LUN 50
 +#define N_STUD 2
 +
 +/* Definizione di un nuovo tipo stud_t */
 +typedef struct stud{
 +  char nome[LUN+1];​
 +  unsigned int matricola;
 +  float media;
 +}stud_t;
 +
 +
 +int main() {
 +  FILE *fp;
 +  stud_t studente[N_STUD];​
 +  int i;
 +  char riga[LUN+1];​
 +  ​
 +  /* Riempimento dei primi due record del vettore di tipo stud_t */
 +  strcpy(studente[0].nome,​ "​Stefano"​);​
 +  studente[0].matricola = 120000;
 +  studente[0].media = 25.5;
 +
 +  strcpy(studente[1].nome,​ "​Giulia"​);​
 +  studente[1].matricola = 120001;
 +  studente[1].media = 28.5;
 +
 +  /* Apertura file in scrittura */
 +  fp = fopen("​out.txt",​ "​w"​);​
 +  if (fp == NULL){
 +    printf("​Errore:​ impossibile aprire il file out.txt\n"​);​
 +    exit(1);
 +  }
 +
 +  /* Scrittura del file: primo metodo utilizzando la funzione fprintf */
 +  fprintf(fp, "Primo metodo di scrittura\n"​);​ /* Consigliabile */
 +  for(i=0; i<​N_STUD;​ i++){
 +    fprintf(fp, "%s %d %f\n", studente[i].nome,​ studente[i].matricola,​ studente[i].media);​
 +  }
 +  ​
 +  /* Scrittura del file: secondo metodo utilizzando la funzione fputs */
 +  fputs("​Secondo metodo di scrittura\n",​ fp);
 +  for(i=0; i<​N_STUD;​ i++){
 +    sprintf(riga,​ "%s %d %f\n", studente[i].nome,​ studente[i].matricola,​ studente[i].media);​
 +    fputs(riga, fp);
 +  }
 +
 +    fclose(fp); /* Chiusura del file */
 +
 +  return 0;
 +}
 +</​file>​

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: admin [at] skenz.it

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/it/informatica/linguaggio_c/scrittura_file_1?rev=1551188125&do=diff
/web/htdocs/www.skenz.it/home/data/pages/it/informatica/linguaggio_c/scrittura_file_1.txt ยท Last modified: 2019/02/26 14:35 (external edit)

Privacy Policy