PDA

View Full Version : [C] Leggere carattere precedente


17Qwerty71
21-10-2005, 23:21
C'è un modo per leggere il carattere precedente con fwrite?

Mi spiego meglio. Io faccio un ciclo che fino a che non viene incontrato un carattere diverso dal tab (per esempio) continua ad essere eseguito.
while( fread(&c, sizeof(char), 1, stream) && c != '\t' ) ;
Praticamente questo ciclo mi serve per scartare tutti i tab che incontro.

L'unica cosa è che alla fine del ciclo la variabile c avrà il valore del carattere che si trova dopo l'ultimo tab. C'è un modo per permettere al puntatore al file di tornare indietro e quindi che alla fine del ciclo punti all'ultimo tab e non al carattere sucessivo?


Grazie :)

cionci
22-10-2005, 11:27
fseek(stream, -1, SEEK_SET);

VegetaSSJ5
22-10-2005, 14:16
fseek(stream, -1, SEEK_SET);
ma non è SEEK_CUR in questo caso?

cionci
22-10-2005, 14:20
Sì, ho copiato la costante sbagliata :D

17Qwerty71
22-10-2005, 14:29
fseek(stream, -1, SEEK_SET);
Grazie mille ;)

Una sola ultima cosa. Mi pare di aver letto che con il parametro SEEK_SET il conteggio inizia dal primo carattere del file. Nel caso dell'esempio che avevo fatto precedentemente quindi dovrei utilizzare SEEK_CUR al posto di SEEK_SET, giusto?


Grazie ancora :)


EDIT= Scusate, non avevo letto i post sucessivi al tuo :fagiano:

VegetaSSJ5
22-10-2005, 14:45
Sì, ho copiato la costante sbagliata :D
che belo ho corretto cionci!!! :sofico: