Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema con lettura di dati da file
Forum - C/C++ - problema con lettura di dati da file

Avatar
el cuba libre (Normal User)
Newbie


Messaggi: 20
Iscritto: 07/03/2011

Segnala al moderatore
Postato alle 14:56
Giovedì, 01/03/2012
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++

  1. fstream FileIn("agenda.txt");
  2.     FileIn.seekg(0,ios::end);//mi sposto alla fine del file per non
  3.     //sovrascrivere le righe precedente
  4.     ist.anno=anno,ist.mese=mese,ist.giorno=giorno,strcpy(ist.impegno,impegno);
  5.     ist.ora=ora,ist.minuti=min;
  6.     FileIn.write((const char*)&ist,sizeof(ist));
  7.     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++

  1. while(File.read((char*)&ist,sizeof(dati)))
  2.     {
  3.         int c=File.tellg();
  4.         if(g==ist.giorno && m==ist.mese && a==ist.anno)
  5.         {
  6.             if(j==choice)
  7.             {
  8.                 File.seekg(-sizeof(dati),ios::cur);
  9.                 File.write((const char*)&ist,sizeof(ist));
  10.             }
  11.             j++;
  12.         }
  13.     }


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

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 15:33
Giovedì, 01/03/2012
quel "-" davanti a sizeof è sbagliato a prescindere dal resto :)

1) non so perchè non mi appare il tasto rispondi,2) quel - sta per meno sizeof(dati) altrimenti come posso fare? - el cuba libre - 01/03/12 21:59


Ingegnere Informatico
https://ldlagency.it
PM