file std :: fstream superiori a 2 GB
Domanda
Quale strategia devo usare se ho un'implementazione di std :: fstream con std :: streampos a 32 bit? Se voglio spostare la posizione, posso farlo in più passaggi (10 GB - 10 volte + 1 GB). Come posso ottenere la posizione? O dovrei mantenere la posizione corrente in qualche variabile al di fuori di fstream?
P.S. Non posso cambiare l'implementazione di STL.
Soluzione
Tenere traccia della posizione corrente da soli è la risposta più diretta, se non si è in grado di aggiungere la STL. Se il tuo compilatore supporta il tipo long long
, andrei con quello.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow