grazie MItaly, questa è un problema che ancora non ho affrontato, sicuramente ne avrò bisogno nel programma. Ora però devo risolvere il problema iniziale: come faccio a inserire in una variabile un numero superiore a 2147483647?Originariamente inviato da MItaly
fseek accetta un parametro di tipo long (con segno, visto che fseek consente anche spostamenti relativi), che in VC++ è a 32 bit. Questo significa che in un solo colpo non ti puoi muovere oltre i 2 GB, ma puoi provare a vedere se puoi risolvere con due fseek:
.codice:fseek(fp,2147483647,SEEK_SET); fseek(fp,1073741825,SEEK_CUR);
Se non si può mi hai comunque fatto venire in mente un'altra possibile strada:
per il momento leggo il file di input e ogni tanto memorizzo in una variabile il numero di byte corrente che mi calcolo facendo una somma dei bite letti ad ogni lettura
al posto di contare i byte che leggo facendo una somma, posso ottenere la posizione corrente del puntatore nel file di input?codice:fread(Var,LenRecord,1,fpi); ByteLetti+=LenRecord;

Rispondi quotando