This shows you the differences between two versions of the page.
it:informatica:linguaggio_c:scrittura_file_1 [2019/02/26 14:35] |
it:informatica:linguaggio_c:scrittura_file_1 [2020/11/26 23:18] (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 '' | ||
+ | * Aprire in scrittura un file di nome "'' | ||
+ | * Scrivere nel file il contenuto del vettore di strutture precedentemente riempito (un record/ | ||
+ | * Chiudere il file | ||
+ | |||
+ | **Soluzione: | ||
+ | <file C scrittura_file_1.c> | ||
+ | /* Esempio di utilizzo delle funzioni di scrittura su file */ | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #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, | ||
+ | studente[0].matricola = 120000; | ||
+ | studente[0].media = 25.5; | ||
+ | |||
+ | strcpy(studente[1].nome, | ||
+ | studente[1].matricola = 120001; | ||
+ | studente[1].media = 28.5; | ||
+ | |||
+ | /* Apertura file in scrittura */ | ||
+ | fp = fopen(" | ||
+ | if (fp == NULL){ | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* Scrittura del file: primo metodo utilizzando la funzione fprintf */ | ||
+ | fprintf(fp, "Primo metodo di scrittura\n" | ||
+ | for(i=0; i< | ||
+ | fprintf(fp, "%s %d %f\n", studente[i].nome, | ||
+ | } | ||
+ | | ||
+ | /* Scrittura del file: secondo metodo utilizzando la funzione fputs */ | ||
+ | fputs(" | ||
+ | for(i=0; i< | ||
+ | sprintf(riga, | ||
+ | fputs(riga, fp); | ||
+ | } | ||
+ | |||
+ | fclose(fp); /* Chiusura del file */ | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | </ |