el cuba libre (Normal User)
Newbie
Messaggi: 20
Iscritto: 07/03/2011
|
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
Codice sorgente - presumibilmente C/C++ |
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
Codice sorgente - presumibilmente C/C++ |
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 |