PDA

Visualizza la versione completa : [C] leggere direttamente il record di coda


pasaran
01-09-2003, 12:21
Allora, ho un file con record di lunghezza fissa di 50 byte.

Pero' prima di scorrere tutti i record del file, dovrei controllare l'esistenza del record di testa e del record di coda.

Come faccio a posizionarmi direttamente sull'ultimo record e poi tornare al secondo?

Mi hammo detto di usare fseek, ma non mi e' ben chiaro come funziona.

Ciao

Michele Facchin
01-09-2003, 17:10
FILE *fp;
fseek (fp, 0, 2); // punti l'ultimo record
fseek (fp, 0, 0); // punti il primo record


fseek (punt, byte, posizione);

punt il file pointer.
byte il numero di byte di cui ti devi muovere.
posizione la posizione, 0 = inizio, 1 = corrente, 2 = fine.

Ciao miao! :zamm:

pasaran
01-09-2003, 17:31
Ok Grazie, ma una volta che sono alla fine del file, come faccio a tornare indietro di 50 byte?

Cioe', con
fseek (fp, 0, 2);

non vado a posizionarmi sull'EOF? o sbaglio?

Michele Facchin
02-09-2003, 10:23
Si scusa, :)



fseek (fp, -1, 2); // last record :D




fseek (fp, 0, 0); // torni al primo record
fseek (fp, -50, 2); // torni indietro di 50 byte dalla fine

Loading