PDA

View Full Version : I-O in C/C++


jurhashish_park
26-11-2003, 20:28
SAlve a tutti!
Vi espongo brevemente il mio problema. Io voglio scrivere questa struttura in un file(entrambi dichiarati globalmente):

File *fmatrix //stream
struct Matrix
{
float matrice [20] [20];
char nome [10];
int righe, colonne
}matrix //la differenza tra struttura e variabile: una é maiuscolo
ho provato
fprintf (fmatrix, struct Matrix, matrix)
ma il debug mi ha detto che il Typ matrix non é supportato dallŽistruzione in questione.
ho provato la fwrite, ma a parte che mi perdo nella dichiarazione delle dimensioni, ho messo 414 byte, ma nn so se sia corretto, successivamente lŽint non capisco che ci stia a fare, e infine, provando una 60-ina di valori comunque non sono riuscito a farlo girare.(non ponetevi domande tipo se ho aperto il file o cose varie, sono un ex-programmatore cobol, non avra grandi doti in aplicazioni scentifiche, ma vi assicuro che con i file e 10.000 volte meglio, ma la logica rimane simile, a parte lo stream )
chi mi saprebbe rispondere?

Black imp
26-11-2003, 23:09
andando proprio a naso: o con un ciclo for memorizzi elemento per elemento o forse ce la fai riga per riga. non credo fprintf serializzi strutture. anzi neanche gli array probabilmente.

dm69
26-11-2003, 23:44
Per conoscere l'esatta dimensione della struttura basta fare:

sizeof(matrix) oppure sizeof(Matrix)

quindi puoi fare il dump su file con una write passando un puntatore a matrix e la size che ti ha tornato l'operatore sizeof().

Ciao.