|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2005
Messaggi: 111
|
[C] Lettura di matrici da file binario
Ciao a tutti,
ho creato queste due funzioni in C che permettono la lettura e la scrittura di un file binario. Sto sbattendo la testa da un'ora per un problema che non riesco a vedere. In pratica tutto funziona bene, finche' non viene letta la matrice. Solo i primi due valori vengono letti correttamente, mentre tutti gli altri non corrispondono. Potete darmi una mano? Grazie mille! Davide. PS: ecco il codice... // write mapFile int saveMap(char *mapfile) { int j,i; FILE *optfile = fopen(mapfile,"w"); if ( optfile == NULL ) { ERROR("Mapfile cannot be opened for reading...\n"); return 1; } // write gate voltages vector size fwrite(&Vg_size, sizeof(double), 1, optfile); // write gate voltages fwrite(gate_voltages, sizeof(double), Vg_size, optfile); // write drain voltages vector size fwrite(&Vd_size, sizeof(double), 1, optfile); // write drain voltages fwrite(drain_voltages, sizeof(double), Vd_size, optfile); // write current data for(j=0; j<Vg_size; j++) for(i=0; i<Vd_size; i++) fwrite(¤ts[j][i], sizeof(double), 1, optfile); fclose(optfile); return 0; } // loads the mapFile int loadMap(char *mapfile) { int i,j; FILE *iptfile = fopen(mapfile,"r"); if ( iptfile == NULL ) { ERROR("Mapfile cannot be opened for reading...\n"); } // read gate voltages vector size fread(&Vg_size, sizeof(double), 1, iptfile); free_vector(gate_voltages); gate_voltages = allocate_vector(Vg_size); // read gate voltages fread(gate_voltages, sizeof(double), Vg_size, iptfile); // read drain voltages vector size fread(&Vd_size, sizeof(double), 1, iptfile); free_vector(drain_voltages); drain_voltages = allocate_vector(Vd_size); // read drain voltages fread(drain_voltages, sizeof(double), Vd_size, iptfile); free_matrix(currents, Vg_size); // read current data currents = allocate_matrix(Vg_size, Vd_size); for(j=0; j<Vg_size; j++) for(i=0; i<Vd_size; i++) fread(¤ts[j][i], sizeof(double), 1, iptfile); fclose(iptfile); return 0; }
__________________
How happy is the blameless vestal's lot! The world forgetting, by the world forgot. Eternal sunshine of the spotless mind! (Alexander Pope) ----Hale |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:33.



















