void esporta(char *nomefile, t_libro elenco[], const int n) { if (strlen(nomefile) > 0) { FILE *f; f = fopen(nomefile, "wb"); if (f != NULL) { int i; for(i=0; i<n; i++) { fwrite(&elenco[i], sizeof(t_libro), 1 , f); } } fclose(f); } }
// file di testo in formato CSV void esportaTesto(char *nomefile, t_libro elenco[], const int n) { if (strlen(nomefile) > 0) { FILE *f; f = fopen(nomefile, "w"); if (f != NULL) { fprintf(f, "titolo;autore;numeropagine;prezoo;editore;\n"); int i; for(i=0; i<n; i++) { fprintf(f, "%s;%s;%d;%f;%s;\n", elenco[i].titolo, elenco[i].autore, elenco[i].numeropagine, elenco[i].prezzo, elenco[i].editore); } } fclose(f); } }
void importa(char *nomefile, t_libro elenco[], int *n) { *n = 0; if (strlen(nomefile) > 0) { FILE *f; f = fopen(nomefile, "rb"); if (f != NULL) { int i = 0; while (!feof(f)) { fread(&elenco[i], sizeof(t_libro), 1 , f); i++; } *n = i; } fclose(f); } }
// file di testo in formato CSV void importaTesto(char *nomefile, t_libro elenco[], int *n) { *n = 0; if (strlen(nomefile) > 0) { FILE *f; f = fopen(nomefile, "r"); if (f != NULL) { int i = 0; char *titolo; // lettura prima riga con titoli delle colonne fscanf(f, "%[^;];%[^;];%[^;];%[^;];%[^;];\n", titolo, titolo, titolo, titolo, titolo); // lettura righe successive con i dati while (fscanf(f, "%[^;];%[^;];%d;%f;%[^;];\n", elenco[i].titolo, elenco[i].autore, &elenco[i].numeropagine, &elenco[i].prezzo, elenco[i].editore) != EOF) { i++; } *n = i; } fclose(f); } }