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
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
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
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