Sto provando a leggere i file che vengono scritti contemporaneamente sul disco. Ho bisogno di leggere pezzi di dimensioni specifiche. Se la dimensione letta è inferiore alla dimensione specifica, mi piacerebbe non leggere il file (qualcosa di simile a ciò che fa ungetc, invece di un carattere []) e riprovare. Aggiungere i byte già letti non è un'opzione per me.non letto un file in C++
Com'è possibile?
ho provato salvare la posizione corrente attraverso:
FILE *fd = fopen("test.txt","r+");
fpos_t position;
fgetpos (fd, &position);
e poi la lettura del file e mettendo il puntatore nella sua posizione prima del-fread.
numberOfBytes = fread(buff, sizeof(unsigned char), desiredSize, fd)
if (numberByBytes < desiredSize) {
fsetpos (fd, &position);
}
Ma non sembra funzionare.
C _or_ C++? Sceglierne uno. –
@EtiennedeMartel, ci sono momenti in cui le differenze sono importanti - è questa una di queste? Non sembra per me. –
@MarkRansom, non importa se la differenza di * domanda * è importante, ma è importante dare risposte. ** Altamente ** è importante quando dare risposte. – Griwes