03/11/11 12:35
Postato originariamente da paco87:
Presupposto della seek è che i record *abbiano* la stessa lunghezza (in particolare la lunghezza è sizeof(dipendente) che tu usi nel tuo codice).
Se hai scritto il record con la file.write allora la file.read lo leggerà correttamente dopo essersi posizionata con la seekg.
Se scrivi il file in un altro modo, non puoi pretendere che la file.read funzioni (e tanto meno la seek)
Tutti problemi legati al fatto che non hai scritto/letto con lo stesso metodo.
Se usi >> e << allora utilizza un file sequenziale. Altrimenti usi write, read e seek. Non un miscuglio.
Adesso, cancella il file, riscrivilo usando unicamente la write e rileggilo usando unicamente la read (e la seekg) e vedrai che funzionerà.
il fatto è che i record hanno tutti la stessa lunghezza
Presupposto della seek è che i record *abbiano* la stessa lunghezza (in particolare la lunghezza è sizeof(dipendente) che tu usi nel tuo codice).
la file.read nn riesce a leggermi tutto il record
Se hai scritto il record con la file.write allora la file.read lo leggerà correttamente dopo essersi posizionata con la seekg.
Se scrivi il file in un altro modo, non puoi pretendere che la file.read funzioni (e tanto meno la seek)
e quando faccio ...
Tutti problemi legati al fatto che non hai scritto/letto con lo stesso metodo.
Se usi >> e << allora utilizza un file sequenziale. Altrimenti usi write, read e seek. Non un miscuglio.
Adesso, cancella il file, riscrivilo usando unicamente la write e rileggilo usando unicamente la read (e la seekg) e vedrai che funzionerà.
Ultima modifica effettuata da 03/11/11 15:23