Oppure

Loading
01/03/12 13:56
el cuba libre
ciao
sto realizzando un agenda in c++. quando l'utente vuole inserire i dati li salvo su un file con la funzione write.
questa è la struttura contenente tutti i dati che io vado a scrivere sul file
struct dati
{
int giorno,mese,anno,ora,minuti;
char impegno[50],nota[10];
};
questo è il codice che scrive su file
    fstream FileIn("agenda.txt");
    FileIn.seekg(0,ios::end);//mi sposto alla fine del file per non
    //sovrascrivere le righe precedente
    ist.anno=anno,ist.mese=mese,ist.giorno=giorno,strcpy(ist.impegno,impegno);
    ist.ora=ora,ist.minuti=min;
    FileIn.write((const char*)&ist,sizeof(ist));
    FileIn.close();

e fin qui tutto ok, adesso il problema è leggere i dati dal file memorizzandoli nella mia struttura. per farlo pensavo che bastasse fare read e che la funzione salvasse automaticamente quello che legge nella mia struttura, ma a quanto pare non è cosi perchè le variabili della struttura continuano ad avere valori casuali
while(File.read((char*)&ist,sizeof(dati)))
    {
        int c=File.tellg();
        if(g==ist.giorno && m==ist.mese && a==ist.anno)
        {
            if(j==choice)
            {
                File.seekg(-sizeof(dati),ios::cur);
                File.write((const char*)&ist,sizeof(ist));
            }
            j++;
        }
    }

qualcuno mi sa indicare dove la funzione read dovrebbe memorizzare i dati che legge, e in che formato? o come mai il mio codice non funziona
grazie mille
aaa
01/03/12 14:33
HeDo
quel "-" davanti a sizeof è sbagliato a prescindere dal resto :)
aaa