PDA

View Full Version : c++ seekp -problema-


Vnderstand
26-06-2008, 17:11
Salve a tutti..
mi dispiace esordire in questo forum con un problema (anke abbastanza stupido.. ma d'altronde + sn stupidi e + nn li capisco).

Stavo implementando x il mio programmino su la gestione dei file la funzione modifica, quando mi sono accorto che nella ricerca dei parametri da modificare nel file non riesco a puntare il record da modificare, ovvero:

if (A=='n');
else { //apre il 2 if
int f;
filesoci.seekp(sizeof(socio),ios::cur);
socio.setNome();
socio.setCognome();
socio.setIndirizzo();
socio.setNascita();
socio.setTelefono();
socio.setCodiceFiscale();
socio.setScadenza();
socio.setSesso();
filesoci.write(reinterpret_cast <char*>(&socio),(sizeof(socio)));
cout << "Dato modificato con successo !! "<< endl<<endl;
cout << socio <<endl<<endl;
successo = 1;
}

Il problema e' questo:
la seekp punta al record successivo a quello da sovrascrivere e non riesco a capire come si faccia a puntare al precedente visto ke nn mi accetta parametri integer nella definizione dell'ios ma solo quelli preimpostati (beg,cur,end).

Vi ringrazio anticipatamente x il tempo concessomi..
Vnderstand

DanieleC88
26-06-2008, 22:22
filesoci.seekp(sizeof(socio),ios::cur);

Che record ti serve? Il primo? Il secondo? Il terzo?
In quel modo stai saltando gli n byte del primo record e stai puntando al secondo, in ogni caso.

ciao ;)