Mi sto approcciando ora ai file e ho fatto questo esercizio:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max 50
#define num_s 2
typedef struct{
char nome[max];
char cognome[max];
int voto;
}struttura;
int main(){
struttura studente;
int i;
FILE *f;
if((f=fopen("archivio.txt", "wb"))==NULL){
printf("errore nell'apertura del file!");
exit(0);
}
for(i=0;i<num_s; i++){
printf("Studente n %d:\n", i+1);
printf("\nNome: ");
scanf("%s", &studente.nome);
printf("\nCognome: ");
scanf("%s", &studente.cognome);
printf("\nVoto: ");
scanf("%d", &studente.voto);
fwrite(&studente, sizeof(struttura), 1, f);
}
fclose(f);
}
dove devo semplicemente inserire i dati dello studente nel file archivio.txt . Non mi da errori di compilazioni ma mi stampa questo:
mario %@ !@ < `rossi ÿÿÿÿÿÿÿÿ< )%@
giovanni %@ !@ < `verdi ÿÿÿÿÿÿÿÿ< )%@
Il voto non viene stampato, mentre il nome e cognome si ma in mezzo a tanti simboli che non dovrebbero esserci